3

単体テストを適用したいマルチプロジェクトソリューションがあります。プロジェクトは適切にカプセル化されており、単体テストのほとんどは、テスト対象のプロジェクト内のクラスのみを使用します。

また、複数のプロジェクトの相互作用をテストする統合テスト ケースも多数あります。

もちろん、すべてのテスト コードを別のプロジェクトにまとめることができますが、ソリューション全体に依存する優れたプロジェクトを作成するという考えには慎重です。

各プロジェクトで単体テスト用のプライベート クラスを作成し、統合テスト用に別のプロジェクトを作成する方がよいでしょうか? それとも、アーキテクチャ上の明らかな利点はありませんか?

4

2 に答える 2

4

単体テストを別のアセンブリに入れる必要があります。これを行うことで、リリースされた製品の一部ではないことを確認できます。

テスト プロジェクトのTest名前に単語が含まれる規則を採用する場合、最終的なビルド出力でワイルド カードを削除して、テスト アセンブリを出荷しないことを確認するのは簡単なことです。

ソリューション全体に依存する優れたプロジェクトを作成するという考えには慎重です

ソリューションのサイズが大きくなるにつれて、テストをアプリケーションの特定の領域を対象とするアセンブリに分割できます。モノリシックなテスト アセンブリから始めて、必要に応じて分割することができます。

于 2013-10-28T08:24:50.107 に答える