我有一个带有几个nunit测试组件的解决方案,还有几个正在开发中。
现在,我正在我的msbuild文件中运行我的nunit命令,如下所示:
<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" />
显然,这是不可读的,很糟糕。所以问题是我该如何改进呢?具体做法是:
foreach(var assembly in testAssemblies) string.Format("src\\{0}\\bin\\debug\\{1}", assembly)
的输出答案 0 :(得分:2)
认为this question上排名最高的答案符合您的要求。
特别是目标过滤器,它允许您指定所有程序集,但如果有一些您不想运行,还指定名称过滤:
<Target Name="GetTestAssemblies">
<CreateItem
Include="$(WorkingDir)\unittest\**\bin\$(Configuration)\**\*Test*.dll"
AdditionalMetadata="TestContainerPrefix=/testcontainer:">
<Output
TaskParameter="Include"
ItemName="TestAssemblies"/>
</CreateItem>