如果测试失败,MSBuild脚本的NUnit任务是否会导致Task失败?

时间:2013-10-11 10:29:14

标签: nunit cruisecontrol.net

我有一个标准的CruiseControl.Net设置,可以从svn中提取代码,构建,测试并生成测试结果。我有一个间歇性的问题,即构建报告成功(绿色),但测试结果显示1或2个失败。

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

任务是否应该出错(错误!= 0)?或者是否可能在ccnet.config的合并测试结果步骤中获得失败?

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

谢谢。

1 个答案:

答案 0 :(得分: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}" />