我希望我的单元测试能够在不管出现故障的情况下运行。我想知道有多少人不仅仅是第一个失败,所以我不会经历构建,失败,修复和再次构建循环。此外,另一个团队有责任修复一些测试,所以我想知道我们没问题。
所以在Nant中,我在单元测试的目标中添加了以下内容,因为failonerror为false,它运行所有测试,但不会使构建失败。
<nunit2 failonerror="false" haltonfailure="false">
<test appconfig="tests.config">
<assemblies basedir="${test.dir}">
<include name="SomeTests.dll" />
</assemblies>
</test>
</nunit2>
在运行结束时,Nant报告
1 non-fatal error(s), 0 warning(s)
我想检查非致命错误计数,如果它超过0,我想做这样的事情......
<fail message="Failures reported in unit tests."
unless="report.errors == 0" />
除了我不知道如何获得错误计数......有谁知道怎么做?
答案 0 :(得分:3)
除了<nunit2>
支持<exec>
可能a good idea anyway之外,在您的特殊情况下,<exec>
任务可以解决问题:
<exec
program="C:\dev\tools\NUnit\2.5.9\bin\net-2.0\nunit-console.exe"
resultproperty="exec.nunit.result"
failonerror="false">
<arg file="C:\foo\bar.dll" />
</exec>
<if test="${int::parse(exec.nunit.result) != 0}">
<!-- fail, print number of failures etc. -->
</if>