gpt4 book ai didi

ant - 在 Ant 中打印 JUnit 失败的次数

转载 作者:行者123 更新时间:2023-12-04 14:51:05 25 4
gpt4 key购买 nike

<target name="test" depends="compile-test">
<junit failureProperty="test.failure">
<classpath refid="classpath.test" />

<formatter type="brief" usefile="false" />
<batchtest>
<fileset dir="${tst-dir}" includes="**/Test*.class" />
</batchtest>
</junit>

<fail message="test failed" if="test.failure" />
</target>

我想打印多少个测试用例:
  • 失败
  • 错误
  • 已通过

  • 通过仅在 build.xml 文件中进行更改。我怎样才能做到这一点?

    最佳答案

    您可以使用 junitreport task收集您的测试结果。

    如果您需要在构建文件中打印汇总指标,您可以使用过滤器链从生成的报告中提取信息。

    可能(必须?)有一种更简单的方法来做到这一点,但我没有看到。

    <target>
    <junit failureProperty="test.failure">
    <classpath refid="classpath.test" />

    <!-- use XML formatter and let it output to file -->
    <formatter type="xml" />

    <!-- specify output dir for test result files -->
    <batchtest todir="tmp/results">
    <fileset dir="${tst-dir}" includes="**/Test*.class" />
    </batchtest>
    </junit>

    <!-- generate report with junitreport -->
    <junitreport todir="tmp">
    <fileset dir="tmp/results" />
    <report todir="tmp/report" />
    </junitreport>

    <!-- concat the report through a filter chain to extract what you want -->
    <concat>
    <fileset file="tmp/report/overview-summary.html" />
    <filterchain>
    <linecontainsregexp>
    <regexp pattern='title="Display all tests"' />
    </linecontainsregexp>
    <tokenfilter>
    <replaceregex pattern='&lt;td&gt;&lt;a href="all-tests.html" title="Display all tests"&gt;(\d+)&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="alltests-fails.html" title="Display all failures"&gt;(\d+)&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="alltests-errors.html" title="Display all errors"&gt;(\d+).*$' replace="Run: \1, Failed: \2, Errors: \3" />
    </tokenfilter>
    </filterchain>
    </concat>

    <fail message="test failed" if="test.failure" />
    </target>

    输出将类似于:
    Buildfile: C:\\test\unit_test.xml
    test:
    [junit] Test MyUnitTest FAILED
    [junit] Test MyUnitTest2 FAILED
    [junitreport] Processing C:\\test\tmp\TESTS-TestSuites.xml to C:\DOCUME~1\xxx\LOCALS~1\Temp\1\null1075123857
    [junitreport] Loading stylesheet jar:file:/C:/eclipse/eclipse-jee-ganymede-SR2-win32/eclipse/plugins/org.apache.ant_1.7.0.v200803061910/lib/ant-junit.jar!/org/apache/tools/ant/taskdefs/optional/junit/xsl/junit-frames.xsl
    [junitreport] Transform time: 906ms
    [junitreport] Deleting: C:\DOCUME~1\xxx\LOCALS~1\Temp\1\null1075123857
    [concat] Run: 8, Failed: 4, Errors: 1

    BUILD FAILED
    C:\test\unit_test.xml:32: test failed

    Total time: 1 second

    如果您正在运行大量测试,您现在将拥有报告生成提取的开销。

    关于ant - 在 Ant 中打印 JUnit 失败的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6428215/

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