非常に大きなVisual Studioソリューションのテストを開発し、整理し始めています。 (はい、私は、プロジェクトがほぼ完了したときではなく、コードと一緒にテストを開発するべきだったと思っていますが、物事はそのままです)大きなVisual Studioソリューションのユニット/統合テスト組織
私は、Visual Studioソリューションしかし、私はそのアドレス統合テストも見ていませんでした。すでに大規模なコードベースを混乱させないように、テストプロジェクトを配置する場所についてのいくつかのガイダンスに感謝します。
ここでは、ソリューション内の基本的な階層構造について説明します。 (.projで終わらないすべての項目は、プロジェクトまたはソリューションフォルダ内のフォルダです。)
- HardwareServices
- HardwareService1
- HardwareService1.Core.proj
- HardwareService1.Host.proj
- HardwareService1.Service.proj
- HardwareService2
- HardwareService2.Core.proj
- HardwareService2.Host.proj
- HardwareService2.Service.proj
- HardwareService1
- インフラ
- MyApp.Database.proj
- MyApp.Infrastructure .proj
- MyApp.ReportViewer.proj
- MyApp.SettingsManager.proj
- AppModules
- AppModule1.proj
- 共通
- レポート
- サービス
- のviewmodels
- ビュー
- AppModule2.proj(他のAppModules同様の構造)
- AppModule3.proj(他のAppModules同様の構造)
- AppModule1.proj
- モジュール
- ComputeEngine.proj
- Footer.proj
- Header.proj
- CommonServices。projの
は、私の考えはすべての生産コードプロジェクトのために一つのテストプロジェクトを作成する、「テスト」と呼ばれるソリューションフォルダを作成し、その後、上記の階層を模倣することでした。各テストプロジェクトでは、 "UnitTests"と "IntegrationTests"というフォルダを作成します。
私は、一貫した命名/組織体系を作成して、新しいテストの場所と既存のテストの場所をあいまいにしないようにします。このプロジェクト/アプリケーションのサイズが大きければ、後で痛みを感じないように、構造物をゲートの外に出すことができます。
ありがとうございました。
これは私が提案した他の方法(プロジェクトのテストを続ける)でした。私は上記のあなたの例では、 "テスト"フォルダの下に対応するHardwareServices1.Core.Tests.Unit.projとHardwareServices1.Core.Tests.Integration.projがあると思いますか? – geoffmazeroff
これらのホスト/サービスプロジェクトにUnit/Integrationテストが必要な場合は、正しくなります。ありがとう、@マーク。 –
私は、チームが解決策のどこにいるかに非常に精通しているので、コード自体でテストを保つことで、見つけやすくなりました。 – geoffmazeroff