1

我想计算失败的测试,并在所有测试完成后只失败一次。这些测试由 Jenkins 每晚运行,并在出现故障或错误时报告结果。问题是我什至无法开始计数,因为它只有 failureProperty 和 errorProperty 可以是真或假,但是当它到达第一个失败或错误的测试时,它会停止并失败。我没有用谷歌找到好的解决方案,他们向我推荐了这些属性,但他们没有做我需要的。

这是代码:

        <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"参数不起作用。

如果您能帮助我,请提前致谢!

4

3 回答 3

1

Also check this answer from another similar question on how to configure your junit target both for execution and report generation. Once you generate the report, configure with the JUnit test report generation post build action.

Also have you tried using printsummary="withOutAndErr" and checked? This works completely fine for me.

于 2013-02-08T14:21:39.543 回答
1

您需要使用 ant 的junitreport. 这会输出一个 xml 文件,jenkins 会很好地为您计算和显示,如果您有兴趣,还可以显示进化图等。

于 2013-02-08T14:05:32.367 回答
1

将 JUnit 属性haltonerror和设置haltonfailure为 false。然后使用各种报表工具解析生成的报表。报告可以是 XML 格式,您可以使用JUnitreport来解析文件。我更喜欢 Jenkins,它会向我展示每个构建、失败的 JUnit 测试的数量以及各种漂亮的报告。其他人使用各种 XSLT 程序(JUnitreport 就是这样)。

注意事项:如果您使用 JUnitReport,您可能需要在 Ant 的 lib 目录中添加一些额外的 jar。我有一段时间没有使用过 JUnitReport,但我记得我需要 Xalan,但这是现在 Java 附带的东西。

于 2013-02-08T14:12:23.310 回答