【发布时间】:2010-01-15 21:34:39
【问题描述】:
编辑:这个问题已经被谷歌在 gtest 1.4.0 中修复; see the original bug report 了解更多信息。
我最近为我的 C++ 测试框架切换到 gtest,我目前无法使用它的一个重要功能是能够生成 JUnit 样式的 XML 测试报告,然后我们的 hudson 可以读取该报告构建服务器。
gtest 测试套件生成的 XML 输出看起来都是合法的:
<?xml version="1.0" encoding="UTF-8"?>
<testsuite tests="370" failures="0" disabled="0" errors="0" time="45.61" name="AllTests">
<testsuite name="application" tests="7" failures="0" disabled="0" errors="0" time="8.953">
<testcase name="zero_tasks_on_bootup" status="run" time="0" classname="application" />
...etc.
</testsuite>
</testsuite>
我还尝试将 JUnitReport 任务添加到我的 ant 构建脚本中,它运行良好,并生成如下 XML:
<?xml version="1.0" encoding="UTF-8"?>
<testsuite tests="370" failures="0" disabled="0" errors="0" time="45.61" name="AllTests">
<testsuite name="application" tests="7" failures="0" disabled="0" errors="0" time="8.953">
<testcase name="zero_tasks_on_bootup" status="run" time="0" classname="application" />
...etc.
</testsuite>
</testsuite>
问题是,每当我告诉 ant 发布 JUnit 测试结果,然后将其指向原始测试结果 XML 或 ant JUnitReport 任务中生成的编译结果时,hudson 总是抱怨在那里找不到测试结果.
我不是 java 人,所以我不知道这里发生了什么,也找不到 JUnit XML 应该是什么样子的示例。有人可以帮我指出正确的方向吗?
【问题讨论】:
-
你能告诉我如何在这里显示 XML 吗?我遇到了 pre 和 code 标记组合无法修复的标记问题。如果您能告诉我如何显示它,我可以发布一个示例。
-
如果我在你的上“查看源代码”,我看到魔法字符被转义了。我究竟做错了什么?我再试一次……
标签: c++ junit hudson googletest