gpt4 book ai didi

java - 你能帮助我避免在主/从 Ant build设置中出现困惑的 JUnit 吗?

转载 作者:行者123 更新时间:2023-12-01 05:59:57 26 4
gpt4 key购买 nike

我们使用主构建中的任务来为每个子项目调用单独的 ant 构建中的目标。到目前为止一切顺利,我们已经构建好了东西,我们甚至可以在每个任务中运行 JUnit 任务,每个人都很高兴。然而...

我们希望将其提升到一个新的水平,我们希望为所有子项目从 JUnit 测试结果 XML 生成一个单一的 JUnit 报告,但是如果我们在任何子项目出现问题时就终止构建如果单元测试失败,我们永远无法生成统一的报告。因此,这表明我们会以某种方式注意到一个或多个子项目中的单元测试失败,并且不会立即失败,而是等到主构建结束才失败。

对于从子构建到主构建的通信存在什么机制?属性是不可变的,我们想到的其他一切(我们更新的属性文件、我们接触的文件等)似乎都是可怕的拼凑。有没有一种方法可以做到这一点,既能很好地适应 Ant,又不会显得像我们嫁接的那样可怕的东西?

最佳答案

junit 任务支持haltonerror 和haltonfailure 属性,如果设置为false,即使测试失败,也会导致ant 脚本继续运行。您还可以设置 errorproperty 和 failureproperty。然后,您可以将 junit 报告复制到主目录(包含所有成功和失败),并使用失败任务来失败(如果已设置其中任何一个属性)。

大致如下:

<target name="run-tests" >
<junit printsummary="on" fork="yes" haltonfailure="false" haltonerror="false" errorproperty="test.failed" failureproperty="tests.failed" showoutput="true" maxmemory="512m">
<classpath refid="classpath" />
<formatter type="xml" />
<batchtest todir="test/reports">
<fileset dir="${build.classes.dir}">
<patternset refid="testfiles" />
</fileset>
</batchtest>
</junit>
<copy todir="test/master/reports" dir="test/reports" />
<fail if="tests.failed"/>
</target>

关于java - 你能帮助我避免在主/从 Ant build设置中出现困惑的 JUnit 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1093267/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com