我正在使用
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> ...
在哈德森配置中还有一个“自定义工具”选项,我必须指定“自定义样式表”,但我不知道如何编写这样的样式表(有没有任何文档?).
在我的带有升压测试的C项目中,可以很好地报告所有消息的失败情况.
解决方法
我不得不更改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>