MrB*_*Sky 5 cruisecontrol.net nant mstest
我有一个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>
Run Code Online (Sandbox Code Playgroud)
从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>
Run Code Online (Sandbox Code Playgroud)
从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'
Run Code Online (Sandbox Code Playgroud)
我试过更换'!' 性格与
'!'
Run Code Online (Sandbox Code Playgroud)
但这没有任何区别.
任何想法,任何人?
我建议将 exec 任务中的命令行属性拆分为 Nant arg 元素。
http://nant.sourceforge.net/release/0.85/help/tasks/exec.html
您将拥有更大的灵活性,可读性也会增加。
| 归档时间: |
|
| 查看次数: |
218 次 |
| 最近记录: |