2016-01-21 5 views
6

私のソリューションでは、2つの他のクラスライブラリプロジェクト(合計3つのプロジェクト)を持つコンソールアプリケーションがあります。ソリューション用の1つ以上の単体テストプロジェクト

ユニットテストプロジェクトを追加します。私の質問は、私は3つすべてをテストすることができますソリューションまたは単一ユニットのテストプロジェクトで "通常のプロジェクト"ごとに "ユニットテストプロジェクト"を追加するのですか?

つまり、自分のプロジェクトがprojA、projB、projCの場合は、3つのユニットテストプロジェクトを追加します。 projA.Tests、projB.Testsなど、または3つすべてを扱うことができる単一ユニットテストプロジェクト?

+1

3つすべてを処理できる単体テストプロジェクトです。 –

+0

ありがとうございました! – Sam

答えて

4

質問がある場合3つすべてを処理できる単一ユニットテストプロジェクトはできますか?答えははいですが、次のステップを進めるよりは、それが依存すると言います。個人的には、すべてのテストを単一のプロジェクトに入れて、各アセンブリのプロジェクト内に別々のフォルダ(さらに必要に応じてサブフォルダを追加)を置く傾向があります。これにより、VisualStudio内でセット全体を簡単に実行できます。何千ものテストがある場合は、単一のプロジェクトが維持するのが難しいかもしれません。私たちは通常、私たちの製品でそれらを展開したくないので、それらを分割します。ライブラリごとに、またはソリューションごとに分割しても、両方にメリットがあります。

究極的には、テストがすべての開発者にすぐに利用できるようにして、開発者が必要なときにどこでテストを見つけるかを知るようにします。また、新しいテストを書くために最小のオーバーヘッドで障害のない環境が必要です。テストはコンパイルして迅速に実行する必要があります - プロジェクト構造はこれのすべてに関わっています。

ユニット、統合、UI自動化などのテストなど、さまざまなレベルのテストが可能であると考えることもできます。いくつかのツールでは、テストカテゴリを使用してこれらのタイプのテストを分離することは可能ですが、個別のライブラリであれば実行やレポート作成がより簡単になることがあります。

多くのプロジェクトがない小規模なプロジェクトでは、通常は1:1の比率が優先されます。

+0

詳細な説明をありがとうございます! – Sam

関連する問題