如何在Jenkins pipeline中显示Coverage number

xam8gpfp  于 2023-08-03  发布在  Jenkins
关注(0)|答案(1)|浏览(112)

我有一个Jenkins多分支管道。

stage('Run tests') {
            steps {
                sh 'npm run-script test -- --coverage --testResultsProcessor=jest-junit --outputFile=test-results.xml'
            }
            post {
                always {
                    junit 'junit.xml'
                    cobertura coberturaReportFile: '**/coverage/cobertura-coverage.xml'
                    recordCoverage(tools: [[parser: 'COBERTURA']], id: 'cobertura', name: 'Cobertura Coverage', sourceDirectories: [[path: '**/src']])
                }
            }
        }

字符串
它工作正常,并为我生成报告,但我想看到的分支列表中的覆盖范围。我该怎么做?


的数据

rqdpfwrv

rqdpfwrv1#

我在JaCoCo遇到了类似的问题。我发现构建不会失败,即使recordCoverage插件失败。在查看构建的控制台输出时,我发现了以下内容:

[JaCoCo] Using default pattern: '**/jacoco.xml' since user defined pattern is not set
...
[JaCoCo] [-ERROR-] No files found for pattern '**/jacoco.xml' Configuration Error?

字符串
我在本地进行了一次构建,看到JaCoCo将其输出写入了build/reports/jacoco/test/jacocoTestReport.xml。我在插件项目的README中找不到任何关于如何为输入文件指定不同位置的内容(README确实讨论了为源代码文件指定不同位置)。在深入研究了插件的源代码之后,我终于找到了一个如何使用pattern属性指定不同位置的示例,如下所示:

recordCoverage(
  tools: [[parser: 'JACOCO', pattern: '**/jacoco/test/jacocoTestReport.xml']],


在进行更改并进行另一次构建之后,我能够在分支列表页面的Coverage列中看到您在问题中引用的链接。点击那个链接,我就看到了详细的报道信息。我希望类似的东西能解决你的问题。

相关问题