すべてのクラスをテストし、すべてのメソッドのテストを記述し、アプリケーションを穴としてテストするにはどうすればよいかなど。
基本的に、完璧な世界ではそうです。メソッドごとに複数のテストを作成することもできます。テスト駆動型とは、テストの作成を開始してから開発を開始し、テストに合格することです。
例:
構成ファイル クラスを作成しようとしており、テスト駆動開発の使用を開始したいと考えています。したがって、実装の前にテストを書き始めます。
class ConfigFileTest extends PHPUnit_Framework_TestCase {
public function testOpen() {
$config = new ConfigFile(); // 1 .test will fail because the class doesn't exists
// -> solution write the class
$this->assertTrue($config->open('test.config')); // 2. test will fail because open isn't implemented yet
// -> solution: implement open()..
// and so on ...
}
}
ご覧のとおり、テストは実装全体をガイドする可能性があり、特別な利点として、テストを使用して、後でコードを変更した後でもクラスが期待どおりに機能するかどうかを確認できるため、実装後も役立ちます。
ただし、 について説明する必要がありますbehat
。これは、「動作駆動型開発」という名前のテストに関する別のアプローチに従っています.. をご覧ください。