【发布时间】:2022-07-02 21:39:11
【问题描述】:
https://www.jenkins.io/doc/pipeline/steps/code-coverage-api/ 提到了 Cobertura XML 的两个不同适配器,“cobertura”和“coberturaAdapter”。
这两者有什么区别?其中一个是否依赖于“Cobertura”插件而另一个不依赖?我应该使用哪一个?
通过反复试验,我发现当安装了两个插件时,这在 Jenkinsfile 中有效:
publishCoverage adapters: [cobertura(coberturaReportFile: 'coverage.xml')], tag: 't'
请注意,coberturaReportFile 不是上述管道语法中描述的参数。两个适配器都提到了path。我在搜索使用path 时出现错误异常的类的Java 文档时找到了coberturaReportFile。结果是一个带有源代码渲染的“覆盖率报告”的 UI。
这似乎受到“Cobertura”插件的影响,因为当我尝试不使用它时,我发现我必须使用不同的调用:
publishCoverage adapters: [cobertura(path: 'coverage.xml')], tag: 't'
UI 也有所不同,而且(令我惊讶的是)看起来就像我安装了“Cobertura”的那个(没有源代码,用方框图代替表格)。
【问题讨论】:
-
如果有人想知道:我使用
tag: ‘t’是因为我想合并两个由不同工作人员生成的报告 (plugins.jenkins.io/code-coverage-api/…)。这目前不起作用:我的 Jenkins 工作 PR 显示 两个 覆盖报告链接指向相同的 URL,并且内容似乎仅来自一名工作人员(第二个工作人员没有覆盖信息)。