「統合テスト詐欺」の削除-コラボレーションおよび契約テストの理解[終了]
ここで何が質問されているのかを理解することは困難です。この質問は、あいまいで、あいまいで、不完全で、過度に広い、または修辞的であり、現在の形では合理的に回答することができません。再開できるようにこの質問を明確にするヘルプについては、ヘルプセンターに アクセスしてください。 8年前に閉鎖。 私は最近、統合テストが JB Rainsbergerによる詐欺であることを確認しました。この件について、さらに資料を探しています。私は、Rainsbergerによって説明されている概念に興味をそそられ、どのようにそれらを適用するかについても混乱している(つまり、単体テストを行う必要がある場合の統合テスト)ことにどれほどの誤りがあるかについてショックを受けました。説明したコラボレーションテストとコントラクトテストの詳細を知りたいのですが、どこから始めればよいかわかりません。 私の心に残った唯一のことは、テストが尋ねる必要がある4つの質問です: サイドA: Do I ask the right question? Can I deal with the answer? サイドB: Can I answer a question? Do I answer correctly? しかし、これをアプリケーションスタックのランダムなメソッドにどのように適用すればよいのでしょうか。 実世界の例を取り、孤立したマイクロテストのこれらのアイデアを適用する本、チュートリアル、または例がありますか?理想的には、この例ではJava、Spring + PowerMock / Mockito / EasyMoockを使用しています これらの概念を一般的に扱っており、それらをよりよく理解するのに役立つ任意の文献をいただければ幸いです。 また、適切なユニットテストを行う方法、さらには既存のコードをリファクタリングしてサンプルを投稿する方法について、より詳細な質問をすることができるフォーラムがある場合は、すばらしいでしょう。 ありがとう! 編集-いくつかの追加の考え: モックを使用する場合と、スタブを使用して、テスト対象のクラスをそのコラボレーターから分離する場合の一般的なルールはありますか?4つの質問に適用できますか? 最良のモックフレームワークはPowerMockのようで、モックしたいクラスとそれが返す必要があるクラスをテストごとに正確に定義できますか、それとも上記の質問に使用したものがありますか?PowerMockを使用して、DAOやGUIなど、実際のアプリケーションスタックの一部に特定の原則の一部またはすべてを適用する優れたチュートリアルはありますか? 編集2-例 テストしたいメソッドの種類と私の考えのほんの一例 注文を保存するWebサービスがあります。この段階では、最高のセキュリティについてあまり心配していません。そのため、いくつかのセキュリティを確保するために、サービスはユーザー名とパスワードを使用して保存要求を認証します。認証さOrderManagerれると、を保存するためにが呼び出されますOrder。内部的には、マネージャーは、新しい注文を作成する必要があるか、既存の注文を更新する必要があるかを決定します。(それはWebSericeにとって重要ではありませんよね?) @WebService public class …