1

我们将大型构建分解为许多构建文件,主构建使用ant目标调用每个构建文件。在单元测试的情况下,我们希望能够运行所有测试(因此生成报告),然后在最后出现错误或失败时使整个构建失败。我了解errorProperty并且failurePropertydoc)可用于将属性设置为 true 以在构建结束时引用,但不知道如何将其恢复到顶层构建。我们如何才能从子构建中冒出 JUnit 失败或错误,但只有在所有测试完成后才会失败?

4

1 回答 1

1

一种选择是使用AntUnit

<antunit>任务驱动测试很像<junit>JUnit 测试。

当在构建文件上调用时,该任务将为该构建文件启动一个新的 Ant 项目并扫描名称以“test”开头的目标。对于每个这样的目标,它将

  • 执行名为 setUp 的目标,如果有的话。
  • 执行目标本身 - 如果此目标依赖于其他目标,则应用正常的 Ant 规则并首先执行依赖的目标。
  • 执行目标名称 tearDown,如果有的话。

AntUnit 为每个测试的子项目提供摘要,如果其中一个子项目失败,则整个构建失败。

在主 build.xml

<target name="test" depends="compile" description="Run tests.">            
  <antunit>
    <plainlistener loglevel="info" />
    <fileset dir="${subprojects.dir}" includes="**/*.xml" />
  </antunit>
</target>

子项目 build.xml

<target name="testJUnit">
  <junit printsummary="on" fork="true" forkmode="once" showoutput="true">
    ...
  </junit>
</target>
于 2012-06-28T20:40:16.100 回答