Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sonarqube 如何在React项目中以jacoTestReport.xml格式获取覆盖率报告_Sonarqube_Jacoco - Fatal编程技术网

Sonarqube 如何在React项目中以jacoTestReport.xml格式获取覆盖率报告

Sonarqube 如何在React项目中以jacoTestReport.xml格式获取覆盖率报告,sonarqube,jacoco,Sonarqube,Jacoco,我正在使用jenkins管道对我的React项目进行测试、构建和部署 我将sonarqube与我的项目相结合。但是sonar的jacoco没有评估我的覆盖报告,它是通用覆盖格式(test report.xml) 有没有一种方法可以在React项目中以“jacoTestReport.xml”的形式获取报告,而不必使用maven或gradle。我找不到任何文档或第三方工具 我的相关管道脚本: sh ''' ${scannerHome}/bin/sonar-scanner \ -Dsona

我正在使用jenkins管道对我的React项目进行测试、构建和部署

我将sonarqube与我的项目相结合。但是sonar的jacoco没有评估我的覆盖报告,它是通用覆盖格式(test report.xml)

有没有一种方法可以在React项目中以“jacoTestReport.xml”的形式获取报告,而不必使用maven或gradle。我找不到任何文档或第三方工具

我的相关管道脚本:

sh '''
   ${scannerHome}/bin/sonar-scanner \
   -Dsonar.projectKey=xxxxxxxxxxxxxx \
   -Dsonar.sources=. \
   -Dsonar.sources=. \
   -Dsonar.coverage.jacoco.xmlReportPaths=test-report.xml \
   -Dsonar.testExecutionReportPaths=test-report.xml \
   -Dsonar.javascript.lcov.reportPaths=coverage/lcov.info \
   -Dsonar.coverageReportPaths=test-report.xml \
   -Dsonar.host.url=https://xxxxxxxxxxxxxx \
   -Dsonar.login=xxxxxxxxxx
'''
相关错误如下所示:

: Sensor Generic Coverage Report
INFO: Parsing /var/jenkins_home/workspace/**********/test-report.xml
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
INFO: Total time: 36.948s
INFO: Final Memory: 49M/690M
INFO: ------------------------------------------------------------------------
ERROR: Error during SonarScanner execution
ERROR: Error during parsing of the generic coverage report '/var/jenkins_home/workspace/*******/test-report.xml'. Look at SonarQube documentation to know the expected XML format.
ERROR: Caused by: Unknown XML node, expected "coverage" but got "testExecutions" at line 2

我假设您只是在构建一个react应用程序,因此它只是JavaScript/TypeScript,我的答案基于这个假设

如果是这种情况,您可以忽略
sonar.coverage.jacoco.xmlReportPaths
属性。您已经通过
lcov.info
文件提供了该信息。Sonarqube将能够从该文件中读取覆盖范围信息

此外,
testreport.xml
通常只包含已执行测试及其结果的列表。您通常不会在其中找到任何类型的覆盖信息。因此,您的构建也可能会在
sonar.coveragereportpath
属性上中断(我的建议是删除该属性)