Удалить ссылку NUnit для сборки выпуска - PullRequest
7 голосов
/ 31 августа 2011

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

Есть какие-нибудь подсказки?

Ответы [ 3 ]

12 голосов
/ 31 августа 2011

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

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

4 голосов
/ 11 августа 2014

Я предпочитаю разрабатывать свои модульные тесты как часть проекта, который я пытаюсь протестировать.Вы можете добавить следующее условие как к файлам ваших модульных тестов, так и к вашей ссылке на 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' "/>
1 голос
/ 31 августа 2011

Переместите ваши модульные тесты в другую сборку - т.е. YourProject.UnitTests

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

...