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