Каковы рекомендации по управлению несколькими сборками тестов в файле msbuild? - PullRequest
2 голосов
/ 08 апреля 2011

У меня есть решение с несколькими тестовыми сборками nunit и еще несколькими в работе.

Сейчас я запускаю команду nunit в файле msbuild следующим образом:

    <Exec Command="nunit-console src\Assembly1.Tests\bin\Debug\Assembly1.Tests.Tests.dll src\Assembly2.Tests\bin\Debug\Assembly2.Tests.Tests.dll src\Assembly3.Tests\bin\Debug\Assembly3.Tests.Tests.dll src\Assembly4.Tests\bin\Debug\Assembly4.Tests.Tests.dll" />

Очевидно, что это нечитаемо и отстой.Итак, вопрос в том, как мне это улучшить?В частности:

  1. Есть ли какой-нибудь способ, которым я могу поместить тестовые сборки в список и получить вывод, эквивалентный foreach(var assembly in testAssemblies) string.Format("src\\{0}\\bin\\debug\\{1}", assembly)
  2. Должен ли я запускать все свои тесты в одной блоке-консольная команда?Я предполагаю, да, потому что я хочу все это в одном выходном файле и одной команде, которая возвращает 0 или ненулевое значение (таким образом, сбой сборки, если ненулевой).

1 Ответ

2 голосов
/ 08 апреля 2011

Подумайте, самый высокий рейтинг ответа на этот вопрос имеет то, что вам нужно.

В частности, целевой фильтр, который позволяет вам указать все сборки, но также указать фильтрацию имен, если есть некоторые, которые вы не хотитеt хотите запустить:

<Target Name="GetTestAssemblies">
<CreateItem
    Include="$(WorkingDir)\unittest\**\bin\$(Configuration)\**\*Test*.dll"
    AdditionalMetadata="TestContainerPrefix=/testcontainer:">
   <Output
       TaskParameter="Include"
       ItemName="TestAssemblies"/>
</CreateItem>

...