My Ant junit任务目前设置为输出最少的信息。在控制台上,对于每个测试类,它会打印类名,运行的测试数,失败和错误,以及每个测试的已用时间。如果测试失败,则会有另外一行说测试失败。
我想在控制台上获得更多细节,但只有在测试失败的情况下才能获得。如果我遵循像this这样的建议,通过添加另一个带有usefile = false的普通格式化程序,那么即使所有测试都通过,我也会获得所有测试的额外冗余细节。这包括打印每个测试方法,以及每个测试类的冗余行。
有可能得到这个吗?
答案 0 :(得分:0)
我相信我已经实施了合理的解决方案。
解决方案的关键点是: *单元测试完成后执行任务,只有在" test.failed" *使用" xmltask"任务库解析测试结果文件并发出简洁的结果
我写了以下目标来做到这一点:
<target name="show-unit-test-failures" if="test.failed">
<taskdef if:set="xmltask.present" name="xmltask" classname="com.oopsconsultancy.xmltask.ant.XmlTask"/>
<echo if:set="xmltask.present" message="Unit test failure report details:"/>
<xmltask if:set="xmltask.present">
<fileset dir="gen/reports/artifacts/junit">
<include name="TEST-*Test.xml"/>
</fileset>
<call path="//testcase[./error]">
<parThatam name="className" path="@classname"/>
<param name="methodName" path="@name"/>
<param name="errorText" path="./error/text()"/>
<actions>
<echo>---------------------------------</echo>
<echo>@{className}.@{methodName}:</echo>
<echo>@{errorText}</echo>
</actions>
</call>
<call path="//testcase[./failure]">
<param name="className" path="@classname"/>
<param name="methodName" path="@name"/>
<param name="errorText" path="./failure/text()"/>
<actions>
<echo>---------------------------------</echo>
<echo>@{className}.@{methodName}:</echo>
<echo>@{errorText}</echo>
</actions>
</call>
</xmltask>
</target>
请注意,我也让它&#34;优雅地失败&#34;如果&#34; xmltask.jar&#34;档案不可用。在任务中引用名称空间的能力是Ant 1.9.1及更新版本中的一项新功能。
我在我的&#34; run-unit-test&#34;结束时调用了这个目标。目标