8

多くのNUnitテストを含むプロジェクトがあります。これらのテストがデバッグ構成ビルドに含まれていることを嬉しく思いますが、リリース構成のnunit.frameworkへの依存関係を削除したいと思います。特定の(リリース)構成のNUnit参照とnunitテストオブジェクトを除外する方法はありますか?私はSharpDevelopを使用していますが、VisualStudioでもこの問題にどのように取り組むのか興味があります。

手がかりはありますか?

4

3 に答える 3

12

リリースコードと同じプロジェクトでテストを行っているようです。これは素晴らしいアイデアではありません。コードを2つのプロジェクトに分割します。1つはテスト用で、もう1つは本番コード用です。テストプロジェクトのみがNUnitを参照する必要があります。

これは、どのテストもリリースコードに付属していないことを意味し、製品コードのみまたはテストコードのみを参照する方が簡単です。

于 2011-08-31T14:25:00.267 に答える
5

テストしようとしているプロジェクトの一部として私の単体テストを使用して開発したい場合は、単体テスト ファイルとプロジェクト ファイル内の 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' "/>
于 2014-08-11T15:27:41.950 に答える
1

単体テストを別のアセンブリに移動します - つまり、YourProject.UnitTests

これは展開パッケージの一部を形成しないため、メイン アプリケーションに nUnit 参照を含める必要はありません。

于 2011-08-31T14:26:17.153 に答える