Какой минимум необходим, чтобы получить тесты NUnit для интеграции с обычной сборкой Visual Studio? - PullRequest
0 голосов
/ 14 апреля 2009

Я знаю, что есть десятки вопросов по этому поводу и блог после публикации в блоге, но кто-то может поставить самый простой ответ (или ссылку на существующий вопрос, если есть соответствующий ответ), чтобы получить следующую работу над Visual Studio 2005:

  1. Тесты NUnit выполняются в Visual Studio обычная сборка (например, абсолютные минимальные изменения в существующем файле * .proj для включения NUnit в компиляцию MSBuild). Если это не слишком усложняет ситуацию, есть ли хороший способ использовать проект «Задачи сообщества MSBuild» в виде двоичного файла, а не устанавливать его на каждом компьютере разработчика?

  2. Тестовые сбои отображаются в списке ошибок / предупреждениях.

  3. При неудачных тестах компиляция прекращается.

Спасибо за любую помощь!

Ответы [ 3 ]

1 голос
/ 14 апреля 2009

Вы можете легко сделать это в TeamCity . Вам даже не нужно использовать MSBuild; TeamCity можно построить из файла решения и настроить для запуска тестов NUnit. Он выполняет все функции, перечисленные в пункте 2, а также создает диаграммы трендов и отчеты.

1 голос
/ 15 апреля 2009

этот список может оказаться полезным: http://groups.google.com/group/nunit-discuss

1 голос
/ 14 апреля 2009

Чтобы сделать это правильно, вам, вероятно, понадобится какой-нибудь сервер непрерывной интеграции, такой как TeamCity или Cruise Control.

Затем вы можете добавить nUnit тесты в ваш скрипт MsBuild, используя следующую команду:

<!--BEGIN RUNNING UNIT TESTS-->
  <Choose>
    <When Condition=" '$(Configuration)' == 'Release' ">
      <ItemGroup>
        <TestAssemblies Include="$(BuildDir)\Builds\Release\BusinessLayer.Tests.dll" />
        <TestAssemblies Include="$(BuildDir)\Builds\Release\ResourceAccessLayer.Tests.dll" />
      </ItemGroup>
    </When>
    <Otherwise>
      <ItemGroup>
        <TestAssemblies Include="$(BuildDir)\Builds\Debug\BusinessLayer.Tests.dll" />
        <TestAssemblies Include="$(BuildDir)\Builds\Debug\ResourceAccessLayer.Tests.dll" />
      </ItemGroup>
    </Otherwise>
  </Choose>
  <UsingTask TaskName="NUnit" AssemblyFile="$(teamcity_dotnet_nunitlauncher_msbuild_task)" />
  <Target Name="Test" DependsOnTargets="Build">
    <NUnit NUnitVersion="NUnit-2.4.6" Assemblies="@(TestAssemblies)" />
  </Target>
<!--RUNNING UNIT TESTS-->

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

Я думаю, что это должно охватывать пункты 1 и 3

РЕДАКТИРОВАТЬ: Другой способ сделать это - запустить тесты nUnit, используя шаг до / после сборки в Visual Studio, this и this может помочь.

Надеюсь, это поможет

...