2013-10-11 46 views
1

我有一个标准的CruiseControl.Net设置,从svn中提取代码,构建,测试并生成测试结果。我有一个间歇性的问题,其中构建报告成功(绿色),但测试结果显示1或2个故障。如果测试失败,MSBuild脚本的NUnit任务是否会导致任务失败?

手动运行任务步骤,只运行NUnit步骤,成功但输出和测试结果显示测试失败。我已经尝试过ContinueOnFailure true和false(它在其他选项上爆炸,并且表示只有true或false是我假设因老版本而产生的有效值)。

任务应该错误(错误!= 0)?或者是在稍后在ccnet.config的合并测试结果步骤中采购失败?

ccnet是否依赖NUnit任务无法指示构建失败?

谢谢。

回答

0

我的理解是(“默认”)它只会生成test-results.xml,并将它们放在“uber.xml”文件中以显示结果。

http://build.sharpdevelop.net/ccnet/doc/CCNET/Using%20CruiseControl.NET%20with%20NUnit.html

而且它是覆写投放下列要求:

<!-- Acceptance Test Assembly --> 
<exec program="nunit-console.exe" failonerror="false" resultproperty="testresult.acceptancetestassembly"> 
    <arg value="AcceptanceTestAssembly.dll" /> 
    <arg value="/xml=AcceptanceTestAssembly-Results.xml" /> 
</exec> 



<!-- Check the results and fail if necessary --> 
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.unittestassembly)==0}" /> 
<fail message="Failures reported in acceptance tests." unless="${int::parse(testresult.acceptancetestassembly)==0}" />