我正在使用Hudson作为Delphi 2010项目的CI服务器。 XMLTestRunner.pas单元将DUnit测试结果写入xml文件,该文件由hudson xUnit插件用于报告测试结果。 xUnit插件显示失败但没有消息:
Stacktrace
MESSAGE:
+++++++++++++++++++
STACK TRACE:
在“发布测试工具结果报告”的hudson项目配置中,我选择“NUnit-Version N / A(默认)”作为测试工具,因为列表中没有dunit选项,xml文件看起来类似于nunit格式:
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<test-results total="123" notrun="0" date="20.12.2010" time="09:19:24">
<test-suite name="HelloWorldTestSuite" total="46" notrun="0">
<results>
<test-case name="TestCase.HelloWorldTest" execute="True" success="False" time="0,003" result="Failure">
<failure name="ETestFailure" location=""/>
<message>expected: < hello world! > but was: < hallo welt ></message>
</test-case>
...
在hudson配置中还有一个“自定义工具”选项,我必须指定“自定义样式表”,但我不知道如何编写这样的样式表(是否有任何文档?)。
在我的C ++项目中,使用boost测试,可以很好地报告所有消息的失败。
答案 0 :(得分:4)
我不得不更改XMLListener以使其与hudson一起使用,因为失败的XML结构必须如下所示:
<testcase name="GetFreeDirNameTest" classname="Test.exe.MyFiles.TTests" result="failed" time="0.000">
<failure message="Expected:
"-1"
But was:
"0"" type="failed">GetFreeDirNameTest: Expected:
"-1"
But was:
"0"
</failure>
</testcase>
答案 1 :(得分:3)