4

我有一个 python 项目,其中包含四个子项目,这些子项目组合在一起,但由于它们在逻辑上是分开的,所以它们保存在同一个 github 存储库中。所以我的项目目录结构如下。 . ├── project1 ├── project2 ├── project3 ├── project4 ├── Jenkinsfile ├── README.md ├── requirements.txt

我有一个构建所有项目的詹金斯构建。它启动 pytest 以运行所有测试。我可以看到它正在运行所有的测试和coverage.xml 是为所有项目创建的。

我想创建 cobertura 来检查覆盖率报告。在我的 jenkins 构建脚本中,我首先运行 pytest 命令,然后将 coverage.xml 重命名为特定于项目的名称,例如project1_coverage.xml

最后,我的詹金斯文件中有以下步骤。

// Cobertura test coverage
step([$class: 'CoberturaPublisher', autoUpdateHealth: false, autoUpdateStability: false, coberturaReportFile: 'proj1_coverage.xml', failUnhealthy: false, failUnstable: false, maxNumberOfBuilds: 0, onlyStable: false, sourceEncoding: 'ASCII', zoomCoverageChart: false])
step([$class: 'CoberturaPublisher', autoUpdateHealth: false, autoUpdateStability: false, coberturaReportFile: 'proj2_coverage.xml', failUnhealthy: false, failUnstable: false, maxNumberOfBuilds: 0, onlyStable: false, sourceEncoding: 'ASCII', zoomCoverageChart: false])
step([$class: 'CoberturaPublisher', autoUpdateHealth: false, autoUpdateStability: false, coberturaReportFile: 'proj3_coverage.xml', failUnhealthy: false, failUnstable: false, maxNumberOfBuilds: 0, onlyStable: false, sourceEncoding: 'ASCII', zoomCoverageChart: false])
step([$class: 'CoberturaPublisher', autoUpdateHealth: false, autoUpdateStability: false, coberturaReportFile: 'proj4_coverage.xml', failUnhealthy: false, failUnstable: false, maxNumberOfBuilds: 0, onlyStable: false, sourceEncoding: 'ASCII', zoomCoverageChart: false])

```

它创建了 4 个报告,但它是其中一个文件或第一个文件的唯一报告报告。如何让 cobertura 报告所有 coverage.xml 文件中的数据。

非常感谢。

4

0 回答 0