要約すると:
外部システムから予想される遅延を模倣する「統合」テストを作成するにはどうすればよいですか?
詳しくは:
「パートナー」と呼ぶ複数の外部システム (Web サービス経由) と通信する「メイン」アプリケーションがあります。
パートナーの内部の仕組みには興味がありませんが、メインを完全にテストする必要があります。
メインの場合、私は現在持っています:
- 個々のテスト可能なブロックごとの単体テスト [したがって、すべての「レベル」(n 層) ですべてのクラスのすべてのパブリック メソッドをテストし、すべての依存関係をスタブします]
- トップダウンでテストする統合テスト (したがって、プレゼンテーション層ですべてのパブリック メソッドをテストし、これらのパートナー Web サービスのみをスタブ化します)
また、MAIN のコードが適切なパフォーマンスを発揮することを確認するために、いくつかの統合テストを作成したいと考えています。
「正しいパフォーマンス」とは?プロダクト マネージャーは、「すべてのビューは 2 秒以内にデータを返さなければならない」と言うことができます。(平均して) パートナーへの呼び出しに (たとえば) 1.5 秒かかることがわかっているので、メイン コードが 0.5 秒 (2 - 1.5) で完了した場合に合格するストップ ウォッチを使用して統合テストを作成できます。ただし、同僚との話し合いで、パートナーのスタブには 1.5 秒の予想される遅延を含める必要があることが提案されたため、私のテストでは、パートナーのメイン コードとスタブが PM の指定に従って 2 秒以内に完了する必要があります。
QU:
- 推奨される動作は何ですか?
- 提案されている場合、これはスタブに Rino Mocks を使用してどのように達成されますか?
みんな、ありがとう
グリフ