有没有办法从子蚂蚁目标中冒出一个ANT属性?

时间:2012-06-28 19:46:49

标签: unit-testing ant junit automated-tests

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

1 个答案:

答案 0 :(得分:1)

一种选择是使用AntUnit

  

<antunit>任务驱动测试,就像<junit>对JUnit测试一样。

     

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

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

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

在master 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>