unit-testing - 在 nant 中运行所有单元测试,即使有些测试失败!

标签 unit-testing cruisecontrol.net nant

我希望我的单元测试无论出现故障都能够运行。我想知道有多少个失败,而不仅仅是第一个,所以我不会经历构建、失败、修复和再次构建的循环。另外,修复一些测试是其他团队的责任,所以我想知道我们的测试是否正常。

因此,在 Nant 中,我在单元测试的目标中添加了以下内容,因为 failureonerror 为 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)

我想检查非 fatal error 计数,如果它大于0,我想做这样的事情......

<fail message="Failures reported in unit tests."
      unless="report.errors == 0" />

除了我不知道如何获取错误计数......有人知道如何吗?

最佳答案

除了删除 <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>

关于unit-testing - 在 nant 中运行所有单元测试,即使有些测试失败!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5499781/

相关文章:

C++单元测试测试,使用模板测试类

api - CCNet API,文档?

git - 从 MSBuild 获取 Git Long Hash

cruisecontrol.net - 在开发人员/构建机器上部署 biztalk

c# - NUnit3 测试不在 TFS 构建上运行

javascript - 有人可以提供一个使用 jsTestDriver.js 的断言异常的非常简单的完整示例吗

nant - 如何从 NANT 返回特定的退出代码?

svn - 无法在 CCNET 上找到项目的 Log Publisher

cruisecontrol.net - 如何将exec的输出分配给NAnt中的属性

c# - 单元测试 : Assert range of a list with greater or lesser than