Удалить ссылку NUnit для сборки выпуска

У меня есть проект со многими тестами NUnit. Я рад, что эти тесты будут включены в сборку конфигурации отладки, но я хотел бы удалить зависимость от nunit.платформа для конфигурации выпуска. Есть ли способ исключить ссылку NUnit и тестовые объекты nunit для конкретной конфигурации (выпуска)? Я использую Sharp Develop, но мне любопытно, как вы подойдете к этой проблеме с Visual Studio.

какие-то зацепки?

3 ответов


похоже, что у вас есть тесты в том же проекте, что и ваш код выпуска. Это не очень хорошая идея - разделить код на два проекта, Один с тестами и с производства код. Только тестовый проект должен будет ссылаться на NUnit.

Это также означает, что ни один из тестов не будет поставляться с кодом выпуска, и его легче просматривать просто код продукции или просто тестовый код.


переместите модульные тесты в другую сборку-т. е. YourProject.Unit-тестов

Это не будет частью вашего пакета развертывания, и не будет необходимости включать ссылку 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' "/>