【问题标题】:Is there a way to bubble up an ANT property from sub ant targets?有没有办法从子蚂蚁目标中冒出 ANT 属性?
【发布时间】:2012-06-28 19:46:49
【问题描述】:

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

【问题讨论】:

  • 如果它解决了问题,请不要忘记接受答案。 :)
  • @xdhmoore 我不认为我最终使用了答案,但我会检查一下。 :)

标签: unit-testing ant junit automated-tests


【解决方案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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-07
    • 2011-07-24
    • 1970-01-01
    • 2010-09-08
    相关资源
    最近更新 更多