0

テスト駆動開発には単体テストが必要ですか?ユニットテストなしではTDDは存在しないという意見をよく目にします。Wikiやアクセスできる本などの尊敬されている情報源では確認できません。

ウィキペディアから:

テスト駆動開発(TDD)は、非常に短い開発サイクルの繰り返しに依存するソフトウェア開発プロセスです。最初に、開発者は、目的の改善または新機能を定義する(最初は失敗した)自動テストケースを作成します(...)

単体テストが必要ない場合、それは統合テストを作成することでTDDに従うのに十分であることを意味しますか?

4

2 に答える 2

3

統合テストに意味があり、有用な(そして迅速な)フィードバックを提供する場合は、確かに。それは、テストパラダイムの純粋さではなく、記述されているコードの迅速なフィードバックループと検証に関するものです。あなたがそれを持っている限り、あなたはTDDを持っています。

ちなみに、このような場合、ウィキペディアを尊敬されるリソースとは呼びません。確かに、参考資料のソース。しかし、TDDについて質問がある場合は、このテーマに関するKentBeckの本よりも尊敬されているリソースがあるとは思えません。

于 2013-03-17T00:11:15.260 に答える
-1

TDDを開発している場合、最良のテストはアトミックで分離されていると言われています。これは、プロジェクト内の他のものに依存することなく、非常に具体的なものをテストしていることを意味します。UnitTestはこれに正確に使用されるので、ユニットテストなしではTDDはないと思います。

TDDを使用して開発する際のアイデアは、すべてのコードが想定どおりに機能していることを自分自身とチームに確実に提供することです。これを実現するには、すべてを統合するたびにテストを実行する必要がある統合サーバーが必要になります。フレームワークを使用して単体テストを作成した場合、これは簡単に実行できます。

私は本当にこの本をお勧めします、それは短くて読みやすく、そして本当にあなたに道を示します:

テスト駆動:Java開発者向けの実用的なTDDと受け入れTDD

于 2013-03-17T01:34:15.353 に答える