PHPUnit は軽量の PHP テスト フレームワークです。これは、PHP5 での JUnit3 シリーズ バージョンの完全な移植であり、xUnit テスト フレームワーク ファミリのメンバーです (これらはすべて、パターンのパイオニアである Kent Beck の設計に基づいています)。
単体テストは、いくつかの最新のアジャイル開発手法の基礎であり、PHPUnit を多くの大規模な PHP プロジェクトにとって重要なツールにしています。このツールは、Xdebug 拡張機能でコード カバレッジ レポートを生成するために使用することもでき、phing と統合してテストを自動化することもでき、最後に、Selenium と統合して大規模な自動統合テストを完了することもできます。
利点
1. これは検証動作です。
プログラム内のすべての関数は、その正確性を検証するためにテストされます。今後の開発をサポートします。開発の後半でも、重要なものを途中で壊す心配がなく、機能の追加やプログラムの構造の変更が簡単に行えます。また、コードのリファクタリングに対する保護も提供します。これにより、より自由にプログラムを改良することが可能になります。
2. これは設計上の動作です。
単体テストを作成すると、呼び出し元を観察して考えることができます。特に、テストを最初に書く (テストファースト) と、呼び出しやすくテストしやすいようにプログラムを設計する必要があります。つまり、ソフトウェアを切り離す必要があります。
3. それは文書を書く行為です。
単体テストは、関数またはクラスがどのように使用されるかを示す貴重なドキュメントです。このドキュメントはコンパイル可能で実行可能であり、常にコードと同期して最新の状態に保たれます。
4. それは逆進的です。
自動化された単体テストにより、コードのリグレッションが回避され、記述完了後は、いつでもどこでもすぐにテストを実行できます。
実践
いつテストするか?
単体テストは早ければ早いほど良いのですが、どれくらい早く行うべきでしょうか?
エクストリーム プログラミング (Extreme Programming、略して XP) は、TDD、つまり、最初にテスト コードを書いてからそれを開発するテスト駆動開発に注目しています。実際の仕事では、何が先か後かにこだわる必要はなく、効率と快適さが重要です。
経験上、最初に製品機能のフレームワークを作成し、次にテスト関数を作成し、製品機能の機能のテスト ケースを作成し、次に製品機能のコードを作成し、各機能のテストを実行します。ポイントを書いて、いつでもテストケースを追加します。
製品関数を最初に書くいわゆるフレームワークとは、最初に関数の空の実装を記述し、戻り値がある場合は適切な値を直接返すことを指します。コンパイルが通過した後、テスト コードは次のようになります。この時点で、関数名、パラメータリスト、戻り値の型を決定する必要があり、記述されたテストコードは将来修正する必要が少なくなります。
単体テストは他のテストとは異なります。単体テストはコーディング作業の一部と見なすことができ、プログラマーによって完了する必要があります。つまり、単体テストに合格したコードが完成したコードです。プロダクトコード テストコードも同時に提出する必要があります。テスト部門は一定レベルのレビューを行うことができます。
公式ドキュメント: https://phpunit.de/manual/current/zh_cn/index.html を必ずお読みください。
以上がPHPの単体テストとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。