2

私はC#を初めて使用し、テストアセンブリがどのように機能するかを理解するのに特に苦労しています。これは私のソリューションディレクトリです(その中に単一のプロジェクトMyProjectがあります):

MySolution/MySolutionFile.sln     -- My Solution File
MySolution/packages               -- My Packages Directory
MySolution/MyProject/Properties   -- My Project Properties

MySolution/MyProject/src                    -- My Source Code
                    /src/MyClass1.cs
                    /src/MyClass2.cs

MySolution/MyProject/test                   -- My NUnit Tests
                    /test/MyClass1Test.cs
                    /test/MyClass2Test.cs

MySolution/MyProject/TheMainClass.cs

これで、VisualStudioからテストフォルダー内のすべてのテストを実行できます。ただし、TeamCityなどのCIシステムからテストを実行したい場合は、アセンブリパスが必要です。実行するアセンブリにテストフォルダーだけを生成するにはどうすればよいですか。

MySolution / testフォルダー内の各テストを実行するメソッドをメインクラスに追加する必要がありますか?

4

1 に答える 1

5

プロジェクトとソリューションについて読む必要があると思います:http://msdn.microsoft.com/en-us/library/ee817674.aspx

その後、すべてがより明確になります。1つのソリューションを用意し、そのソリューション内に、アプリケーション用のプロジェクトと単体テスト用のプロジェクトを作成します。テストプロジェクトで、選択したテストフレームワークへの参照とアプリケーションプロジェクトへの参照を追加します。

このように、アプリケーションはテストを認識せず、1つのアセンブリにコンパイルされます。同時に、テストはアプリケーションによって異なりますが、別のアセンブリにコンパイルされます。このアセンブリは、テストランナーのGUI/CIまたはその他の使用するもので使用できます。

そして、次の質問に答えるには、テストプロジェクトの場合、「ライブラリ」のプロジェクトタイプを選択する必要があります(必要に応じてコンソールアプリケーションも機能します)

于 2012-09-12T00:17:00.533 に答える