dudit测试结果消息在哈德森

han*_*aad 7 delphi hudson dunit hudson-plugins jenkins

我正在使用Hudson作为Delphi 2010项目的CI服务器.XMLTestRunner.pas单元将DUnit测试结果写入xml文件,该文件由hudson xUnit插件用于报告测试结果.xUnit插件显示失败但没有消息:

Stacktrace

MESSAGE:

+++++++++++++++++++
STACK TRACE:
Run Code Online (Sandbox Code Playgroud)

在"发布测试工具结果报告"的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: &lt; hello world! &gt; but was: &lt; hallo welt &gt;</message>
</test-case>
...
Run Code Online (Sandbox Code Playgroud)

在哈德森配置中还有一个"自定义工具"选项,我必须指定"自定义样式表",但我不知道如何编写这样的样式表(是否有任何文档?).

在我的C++项目中,使用boost测试,可以很好地报告所有消息的失败情况.

小智 4

我必须更改 XMLListener 才能使其与 hudson 一起工作,因为故障的 XML 结构必须如下所示:

<testcase name="GetFreeDirNameTest" classname="Test.exe.MyFiles.TTests" result="failed" time="0.000">
  <failure message="Expected:
        &#34;-1&#34;
        But was:
        &#34;0&#34;" type="failed">GetFreeDirNameTest: Expected:
        &#34;-1&#34;
        But was:
        &#34;0&#34;
  </failure>
</testcase>
Run Code Online (Sandbox Code Playgroud)

  • 您能否更详细地解释一下必须更改哪些内容才能使输出看起来像这样。我目前遇到了完全相同的问题。如果你能帮我解决这个问题,我会很高兴。 (2认同)