【发布时间】:2011-10-04 09:40:07
【问题描述】:
我为 Cruise Control 配置了一个任务来运行一个运行 MSTest 套件的 NAnt 脚本。 MSTest 允许我指定测试类别,因此我想指定“!Integration”(这意味着“不运行集成测试”)。当我从命令行运行时,我的 Nant 脚本成功运行,但是当 Cruise 运行它时,“!Integration”指令出现乱码——Cruise 输出表明它在“!”之后插入换行符特点。结果是所有我的测试都运行了,包括集成测试。
从 ccnet.config 中提取:
<tasks>
<nant>
<executable>C:\nant\bin\nant.exe</executable>
<baseDirectory>C:\MyProject\BuildDirectory</baseDirectory>
<buildFile>MyProject.build</buildFile>
<targetList>
<target>CIServerBuild</target>
</targetList>
</nant>
</tasks>
从 MyProject.build 中提取:
<target name="CIServerBuild">
:
<call target="RunUnitTests" />
</target>
<target name="RunUnitTests">
<property name="TestCategories" value="!Integration" />
<call target="RunMSTest" failonerror="true"/>
</target>
<target name="RunMSTest">
<call target="BuildListOfTestContainers" failonerror="true"/>
<exec program="${MSTest.exe}"
commandline=" /category:"${TestCategories}" ${TestContainers} /resultsfile:${MSTest.ResultsFile} /nologo "
/>
</target>
从 Cruise 输出中提取:
[exec] Starting 'C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe ( /category:"!
Integration" /testcontainer:C:\TaxWise\BuildDirectory\TaxWise\TaxWise.Data.Tests\bin\Debug\TaxWise.Data.Tests.dll /testcontainer:C:\TaxWise\BuildDirectory\TaxWise\TaxWise.Domain.Tests\bin\Debug\TaxWise.Domain.Tests.dll /testcontainer:C:\TaxWise\BuildDirectory\TaxWise\TaxWise.Infrastructure.Tests\bin\Debug\TaxWise.Infrastructure.Tests.dll /resultsfile:.\TestResults\UnitTests.trx /nologo )'
in 'C:\TaxWise\BuildDirectory'
我已尝试替换“!”带有
的字符'!'
但这没什么区别。
有什么想法吗?
【问题讨论】:
标签: cruisecontrol.net mstest nant