关于Java:ANT Jenkins单元测试-计算失败的测试

ANT Jenkins unit test - count failed tests

我想统计失败的测试,并在所有测试完成后仅使一次失败。 这些测试由Jenkins(Jenkins)每晚进行,如果有故障或错误,则报告结果。 问题是我什至无法开始计数,因为它只有failProperty和errorProperty可以为true或false,但是当它到达第一个失败或错误的测试时,它将停止并失败。 我在Google上找不到很好的解决方案,他们向我推荐了这些属性,但它们没有满足我的需要。

这是代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        <junit printsummary="true" fork="yes" forkmode="once"
showoutput="false" haltonfailure="no" maxmemory="1024m"
errorProperty="test.failed" failureProperty="test.failed">
            <classpath refid="junit.classpath" />
            <batchtest fork="yes" todir="${junit.dir}/raw">
                <formatter type="xml" />
                <fileset dir="${classes.dir}">
                    <include name="**/*Test.class" />
                    <exclude name="*ear*/**"/>
                    <exclude name="**/Base*.class" />
                    <exclude name="**/JNDI*.class" />
                </fileset>
            </batchtest>
        </junit>
    <fail message="At least one test failed or has errors, please check test results in Jenkins to see details!" if="test.failed" />

我会错过重要的事情吗? 在这种情况下,似乎haltonfailure =" no"参数不起作用。

在此先感谢您能为我提供帮助!


还要检查另一个类似问题的答案,该问题涉及如何配置junit目标以执行和生成报告。生成报告后,使用JUnit测试报告生成后构建操作进行配置。

您是否也尝试过使用printsummary =" withOutAndErr"并进行了检查?这对我来说完全正常。


将JUnit属性haltonerrorhaltonfailure设置为false。然后使用各种报告工具来分析生成的报告。该报告可以采用XML格式,并且您可以使用JUnitreport解析文件。我更喜欢Jenkins,它会向我显示每个版本,失败的JUnit测试次数以及各种不错的报告。其他人则使用各种XSLT程序(实际上是JUnitreport就是)。

单词'o警告:如果使用JUnitReport,则可能在Ant的lib目录中需要一些额外的jar。我已经有一段时间没有使用JUnitReport了,但是我记得我需要Xalan,但这是Java附带的东西。


您需要使用蚂蚁的junitreport生成报告。这将输出一个xml文件,如果您感兴趣的话,jenkins会很好地为您计数和显示xml文件以及演化图等。