我有一个詹金斯有很多工作。这些作业以XML格式进行测试并生成测试输出。那些XML测试结果看起来非常标准 - 像这样:
<testsuites name="testsuitesname">
<testsuite name="testsuitename">
<testcase classname="classname" name="testcasename">
blabla
</testcase>
</testsuite>
</testsuites>
当您使用构建后操作 发布JUnit测试结果报告(在作业的配置页面上找到)时,这些已发布的构建结果的结构(在詹金斯)将是这样的:
<root>
(标题:包)<classname>
(标题:课程)<testcasename>
(标题:测试名称)此层次结构中没有<testsuitesname>
和<testsuitename>
,就像在XML文件中一样。
是否有任何选择:
将<testsuitesname>
和<testsuitename>
添加到Jenkins构建的测试结果发布层次结构中的层次结构中:
<root>
)<testsuitesname>
<testsuitename>
<classname>
<testclassname>
或
<testcase>
代码添加更多层次结构?背景:因为我的测试结果非常大(大量)我想为它添加更多的层次结构/结构而不仅仅是两个级别(就像现在这样)以获得对所有这些结果的更多概述。
任何人都可以帮我或者有类似的问题吗?
最佳
安迪
答案 0 :(得分:3)
不幸的是,我找不到简单的答案来改变Jenkins在构造测试结构方面的不同行为。但是,我发现我的案例有所改进,我想分享。
Jenkins中测试结果的层次结构如下:
可以在<testcase>
- 标签中定义,如下所示:
<testcase classname="packagename.classname" name="testname">
因此,在“名称”中,您可以定义层次结构的最后一部分 - 测试名称。在“classname”中,您可以定义层次结构的前两个部分 - 包和类,由点分隔。
请记住,只允许一个点。只能通过添加更多点来在classname标记中添加更多“分隔部分”,从而无法创建更深层次的层次结构。如果点数多于一个,则最后一个计数。
这是一个“完整”的例子:
<testsuites name="testsuitesname">
<testsuite name="testsuitename">
<testcase classname="packagename.classname" name="testname">
blabla
</testcase>
</testsuite>
</testsuites>