如何使jmunit运行所有测试,如果任何测试失败,仍然会在最后失败

时间:2011-05-11 10:10:45

标签: unit-testing ant java-me junit

当我在我的jmunit测试中关闭haltonfailurehaltonerror时,这样:

<jmunit haltonerror="false" haltonfailure="false" failureproperty="testfailure">
    <formatter type="xml" />
    <classpath>
        <path path="${jar_location}" />
        <path path="${build}" />
    </classpath>
    <!-- Add  -->
    <test name="com.example.tests.Test1" todir="${reports}" />
    <test name="com.example.tests.Test2" todir="${reports}" />
    <test name="com.example.tests.Etc" todir="${reports}" />
</jmunit >

即使某些测试失败,构建也会成功。如果我打开暂停,那么它当然会在第一次失败后立即停止。我想要的行为是,无论有多少测试失败,都会执行所有测试,但如果其中任何一个失败,则构建将不会成功。我想要的原因是报告可以正确显示通过次数和失败次数,以及哪些测试失败。

我如何实现这一目标? 和/或 我认为我希望所有的测试都运行有缺陷吗?

1 个答案:

答案 0 :(得分:2)

容易腻:

您需要添加命令

<fail message="Something went wrong. Please check the test results." if="testfailure" />

到jmunit命令本身之后包含jmunit命令的目标。

这样,当其中一个测试失败时,jmunit任务将设置变量testfailure,如果设置了该属性,命令fail将使构建失败。

希望有所帮助。