使用来自nant的TestCase属性运行nunit测试

时间:2011-09-08 20:23:45

标签: nunit nant

我正在使用这个nant任务进行我的nunit测试。

<nunit2 failonerror="false">
  <formatter usefile="true"
             outputdir="build"
             type="Xml"
             extension=".xml"/>
  <test>
    <assemblies>
      <include name="Build/*.Tests.dll"/>
    </assemblies>
    <references >
      <include name="Tools/**/*.dll"/>
      <include name="Build/*.dll"/>
    </references>
  </test>
</nunit2>

它有很好的好处,我可以在多个项目中使用它而不会改变任何东西。问题是它似乎忽略了我的一些测试中的TestCaseExpectectException属性导致它们失败。我已经看到了使用exec任务调用nunit-console.exe的建议,但是我必须单独指定所有测试dll。这意味着我无法再在所有项目中使用它而无需编辑它。每当我将测试项目添加到我的解决方案中时,我都必须编辑它。

有没有办法让两全其美?

1 个答案:

答案 0 :(得分:2)

您可以使用<foreach>来运行测试:

<foreach item="File" property="test-assembly">
  <in>
    <items>
      <include name="${binaries-dir}/*" />
    </items>
  </in>
  <do>
    <exec program="${nunit.exe}" workingdir="${binaries-dir}"
        managed="true">
      <arg value="/nologo" />
      <arg value="${test-assembly}" />
    </exec>
  </do>
</foreach>