多くのNUnitテストを含むプロジェクトがあります。これらのテストがデバッグ構成ビルドに含まれていることを嬉しく思いますが、リリース構成のnunit.frameworkへの依存関係を削除したいと思います。特定の(リリース)構成のNUnit参照とnunitテストオブジェクトを除外する方法はありますか?私はSharpDevelopを使用していますが、VisualStudioでもこの問題にどのように取り組むのか興味があります。
手がかりはありますか?
多くのNUnitテストを含むプロジェクトがあります。これらのテストがデバッグ構成ビルドに含まれていることを嬉しく思いますが、リリース構成のnunit.frameworkへの依存関係を削除したいと思います。特定の(リリース)構成のNUnit参照とnunitテストオブジェクトを除外する方法はありますか?私はSharpDevelopを使用していますが、VisualStudioでもこの問題にどのように取り組むのか興味があります。
手がかりはありますか?
リリースコードと同じプロジェクトでテストを行っているようです。これは素晴らしいアイデアではありません。コードを2つのプロジェクトに分割します。1つはテスト用で、もう1つは本番コード用です。テストプロジェクトのみがNUnitを参照する必要があります。
これは、どのテストもリリースコードに付属していないことを意味し、製品コードのみまたはテストコードのみを参照する方が簡単です。
テストしようとしているプロジェクトの一部として私の単体テストを使用して開発したい場合は、単体テスト ファイルとプロジェクト ファイル内の nunit 参照の両方に次の条件を追加できます。
Condition=" '$(Configuration)'=='Debug' "
デバッグ モードの場合は、nunit 参照とテスト クラスのみがビルドに含まれます。
したがって、プロジェクト ファイルは次のようになります。
<Reference Include="nunit.framework, Version=2.6.3.13283, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL" Condition=" '$(Configuration)'=='Debug' ">
<HintPath>..\packages\NUnit.2.6.3\lib\nunit.framework.dll</HintPath>
</Reference>
<Compile Include="UnitTests.cs" Condition=" '$(Configuration)'=='Debug' "/>
単体テストを別のアセンブリに移動します - つまり、YourProject.UnitTests
これは展開パッケージの一部を形成しないため、メイン アプリケーションに nUnit 参照を含める必要はありません。