NUnitを使用して、.NET4.0上のVisualStudio 2010でC#でテストケースを作成し始めています。 NUnitを使用して、.dll(C#クラスライブラリプロジェクト)のパブリック関数に対してテストしたいと思います。プロジェクトで動作するようにNUnitを設定するにはどうすればよいですか?
テストするために同じクラスライブラリプロジェクトにNUnitコードを追加する必要がありますか、それともNUnitテストケースの同じソリューションに別のプロジェクトを追加する必要がありますか?ベストプラクティスはどれですか?
NUnitテストケース用に別のプロジェクトを作成する必要がある場合、それをクラスライブラリプロジェクトまたは実行可能ファイルにする必要がありますか?クラスライブラリプロジェクトにした場合、どうすれば実行できますか?
実行可能ファイルおよびnotクラスライブラリプロジェクトに対してテストする必要がある場合、プロセスやプロジェクトに変更はありますか?
Re 2
通常、[テストケースdll]は[ビジネスロジックdll]とは別にしてください。ビジネスロジックdllには、関心の分離と展開/保守の簡素化のために、NUnitの知識を含めるべきではありません。
テストケースdllには、NUnitおよびビジネスロジックdllへの参照が含まれている必要があります。
名前空間を共有する必要はありません。ビジネスロジックdllのAssemblyInfo.csファイルを変更して内部をテストケースdllに公開することにより、ビジネスロジックdllの内部メンバーをテストケースdllに公開できます。これにより、ビジネスロジックdllで必要な可視性を維持できます。
バイオハザード3
テストケースはdll(つまりクラスライブラリプロジェクト)に入れる必要があります。これをNUnitのUIに直接ロードするか、統合環境でNUnitのコンソールランナーを使用してテストを自動的に実行できます。
私のやり方:
幸運を祈ります-テストプロジェクトタイプavlも試してみてください。 Visual Studioでは、NUnitと非常によく似ています。私はまだNUnitを好みますが、学習しながらいくつかのさまざまなオプションを試すのは良いことです。
コメントについて:NUnit.exeをテストクラスライブラリ(ユニットテストを含むもの)のデフォルトの開始実行可能ファイルとして設定する場合、テストするDLL;初回以降、テストを実行しているプロジェクトが記憶されます。
また、ユニットテストライブラリに他のプロジェクトを参照する参照があることを確認する必要があります。
繰り返しますが、私がリストしたチュートリアルはこれらすべてを通過します。
2:すべてのNUnitテストを同じソリューションの別々のプロジェクトに配置する必要があります。プロジェクトをビルドするとテストがビルドされ、その逆も同様です。このプロジェクトをTDDしているとき(そうしていますよね?)、テストを実行するだけで、必要なものがすべてビルドされます。 3:クラスライブラリ。 NUnitを使用している場合は、Windowsで実行可能である必要はありません。テストランナーを使用する必要があります。
テストコード用に別のテストプロジェクトを追加し、そこからNUnitとテスト対象のライブラリを参照します。これはクラスライブラリである必要があり、NUnitテストランナーによって実行されます。 nunit-console test_Assembly.dll
ドキュメント を参照してください。