JUnit XML格式是否真的没有错误元素?

时间:2011-10-13 19:43:32

标签: java ant junit

查看informal spec处的this question,我注意到没有错误元素。这只是一个疏忽吗? CruiseControl似乎从某个地方提取错误。

<testsuites>
  <testsuite name="name" errors="1" failures="0">
    <testcase name="name">
      <error>Some error message</error>
    </testcase>
  </testsuite>
</testsuites>

2 个答案:

答案 0 :(得分:1)

您可以查看此article。本文修改后的样本:

<target name="test">
    <junit printsummary="withOutAndErr" fork="off" haltonfailure="no">
        <classpath refid="classpath.test"/>
        <formatter type="brief" usefile="false"/>
        <test name="packagename.MyTest"/>
    </junit>
</target>

您可以在控制台(或报告文件)中查看来自junit测试的所有消息 您可以在ant site上阅读有关printsummary, haltonfailure属性和其他属性的信息 另一个useful link

答案 1 :(得分:0)

我知道它已经有一段时间了,但是,有一个错误元素,你可以区分错误和失败:

<?xml version="1.0" encoding="utf-8"?>
<testsuites errors="1" failures="2" tests="5" time="10">
    <testsuite errors="1" failures="2" id="0" name="TestSuite1" tests="4" timestamp="2015-04-20T00:00:00">
        <testcase classname="ModuleIAmTesting" name="testDoNothingDoesNothing" time="1"/>
        <testcase classname="ModuleIAmTesting" name="testLongThingTakesALongTime" time="5"/>

        <testcase classname="ModuleIAmTesting" name="testSkyIsBlue" time="1">
            <failure message="Test testSkyIsBlue() failed!" type="failure">
                It's storming; sky is gray today. Failure output, details, etc.
            </failure>
        </testcase>

        <testcase classname="ModuleIAmTesting" name="testIsNotStorming" time="1">
            <failure message="Test testIsNotStorming() failed!" type="failure">
                Another failure. Failure output, details, etc.
            </failure>
        </testcase>

        <testcase classname="ModuleIAmTesting" name="testCreatePlugin" time="2">
            <error message="Error while executing test testCreatePlugin()!" type="error">
                Unhandled catastrophic exception in ModuleIAmTesting.cpp at like 4420, details, etc.
            </error>
        </testcase>
    </testsuite>
</testsuites>

重要的部分是<error>标记和errors的{​​{1}}属性。