私のアプリでは、各レイヤーにいくつかの単体テストといくつかの統合テストがある自動テスト戦略を開発しました。
「統合テスト」は、テストに複数のユニットが関係する場合はいつでも適用できる、かなり包括的な用語のように思えます。
統合テストでは、次の 2 つのオプションがあるように感じました。
- 「単一のレイヤーでユニットの組み合わせをテストし、他のすべてを偽造する」(たとえば、インメモリデータベースまたはデータアクセスレイヤーのスタブアウト)。DI とメッセージングが正しく配線されていることを確認するのに役立ちます。
また
- 「特定のレイヤーのテストは、下位レイヤーの実際のインスタンスに対して動作する必要があります」(たとえば、データベースにヒットします)。アプリ全体が機能するという確信を得るのに役立ちます。
私の質問は、シナリオごとに一般的に使用される異なる用語はありますか? レイヤーとその下のテストを「ジェンガ テスト」と呼ぶようになったのは、各レイヤーが下のレイヤーに適切に整列または積み重ねられ、タワー全体が倒れないようにするためです。
(ps単体テストと統合テストの長所と短所について話し合うこと、またはデータベースを偽造することには興味がありません-単なる用語です)。