この質問に対する最良の答えは、必要性に基づいていると思います。
私の職場では、次のような環境タイプごとにコード/テスト データを分離しています。
特定の環境には本番環境と同じデータがあり、他の環境には古い (または完全に異なる) データがあります。これの利点は次のとおりです。
- 新しいアイデア/テクノロジーをテスト、実装、および「プレイ」するためのサンドボックス。
- ライブの顧客向けデータには影響しません。
- 統合テストは、メイン コード ベースにとらわれない特定の側面に対応したり、焦点を合わせたりすることができます。
さて、あなたの質問についてですが... 前述したように、使用するデータはテスト対象に焦点を合わせているため、データを分離することで、変更を迅速に行い、新しい機能を実装することができます。テストする必要があるものに固有の独立したテスト データを持つ 3 つのトランクがあります。をテストするときView
は一連のテストがあり、 をテストするときModel
は別のテスト セットがあり、 をテストするときController
はさらに別のテスト セットがあります。最後に、新しいビルドがリリースされたときに実行される統合テストの包括的なセットがあります。最後の 1 つを除くすべてのケースで、テストは作成されたコンポーネントと共に動作します。ただし、これらは統合テストであるため、検証する 3 つの部分を別々に保持することは理にかなっています。
あなたの考えは堅実だと思います。