4

私は約18のプロジェクトを含むビジュアルスタジオソリューションを持っています。それらのプロジェクトの単体テストを作成したいと思います(各ソースプロジェクトに対する単体テストを含むテストプロジェクトを作成することによって)。

すべてのテストプロジェクトを含む別のソリューションを使用する必要がありますか?または、Visual Studio 2008のパーティションソリューションアプローチを使用して、すべてのテストプロジェクトのサブソリューションを作成する必要がありますか?

4

1 に答える 1

4

単体テストを別のソリューションに入れると、問題が発生するように思えます。本質的に、単体テストはテスト対象の型 (クラス) を参照できなければなりません。別のソリューションの場合、それはバイナリ アソシエーションを意味します。それは非常に「難しい」と思われるでしょう。

したがって、質問の理由を調査し、できれば助けを提供するために、これらは私が単体テストを同じソリューションに入れる理由です。

  • プロジェクトの参照。私は単体テスト プロジェクトに .Tests という名前を付けるのが好きです。ここで、 はテスト対象の型を保持する製品アセンブリの名前です。そうすれば、VS で互いに隣り合って表示されます (アルファベット順)。

  • TDD 開発では、製品コードと単体テストをすばやく切り替える必要があります。それはコードを書くことであり、コード後のテストではありません。

  • ソリューション ペインの上部にあるソリューション ノードを選択して、「すべてのテストを実行する」と言うことができます (私は Resharper(.

  • ビルド ファーム (TeamCity) は常に、すべてのコミットですべてのテストを実行します。それらすべてを 1 つのソリューションにまとめることで、はるかに簡単になります。

私がこれを書いているとき、なぜそれらを別のソリューションに入れるのか疑問に思います。単体テストは、製品コードを使用したソリューション以外では意味がありません。

なぜその質問をしたのか説明できるかもしれません。それらが同じソリューションにあることに問題があることがわかりますか。18 のプロジェクトは、私には多くのようには思えません。私が取り組んでいるソリューションには他にもたくさんあります...しかし、Resharperを使用する場合(そしてなぜそうしないのですか?)、ボックスに十分なRAMが必要になります。

これが役立つことを願っています。

于 2012-12-11T10:12:42.827 に答える