运行主项目后,每个下游项目都有测试结果,但“最新聚合测试结果”是没有测试的。如何配置 Jenkins 使所有测试结果显示在聚合列表中?
最佳答案
聚合下游测试结果 不明显,也没有记录。下面的步骤是从 How To Aggregate Downstream Test Results in Hudson 合成的。
出于某种原因,这个 shell 命令没有在下面呈现,在 b 的配置的第 2 步
xml='<testsuite tests="3">
<testcase classname="foo" name="ASuccessfulTest"/>
<testcase classname="foo" name="AnotherSuccessfulTest"/>
<testcase classname="foo" name="AFailingTest">
<failure type="NotEnoughFoo"> details about failure </failure>
</testcase>
</testsuite>'
echo $xml > results.xml
要进行聚合,您需要将指纹工件从上游作业传递到下游作业。我对此的解决方案是安装 Copy Artifact Plugin 。
对于我的测试设置,我创建了两个自由式作业
a
和 b
。a
的配置:echo $(date) > aggregate
b
aggregate
(来自上面的 echo
命令) b
的配置:a
aggregate
xml=...
命令results.xml
这应该足以让
a
聚合 b
的测试结果。我不确定是否有一种方法/插件可以根据下游结果更改 a
的状态(例如,如果 b
失败,那么 a
将追溯失败)。关于jenkins - 下游的聚合结果是 Jenkins 中的 ‘no test’,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19808181/