4

我开玩笑地写了一些单元测试。他们都是成功的。能够查看 jest 生成的测试覆盖率报告在此处输入图像描述

但我的 sonarqube 仪表板始终显示 0% 的覆盖率,但正在检测单元测试。

在此处输入图像描述

我正在使用jest-sonar-reporter生成报告的声纳耗材格式。

这是我的声纳属性文件

sonar.projectKey=skyflow-app
sonar.projectName=Skyflow App
sonar.host.url = http://localhost:9000
sonar.projectVersion=1.0
sonar.sourceEncoding=UTF-8
sonar.sources=src
sonar.exclusions=**/node_modules/**,**/*.spec.ts, **/*.stories.tsx
sonar.tests=src
sonar.test.inclusions=**/*.test.tsx,**/*.test.ts
sonar.test.exclusions=**/*.stories.tsx
sonar.ts.tslintconfigpath=tslint.json
sonar.testExecutionReportPaths=testResults/sonar-report.xml
# sonar.coverageReportPaths = coverage/lcov.info
sonar.javascript.lcov.reportPaths = coverage/lcov.info

请让我知道我哪里出错了。

4

2 回答 2

5

我这边的一个愚蠢的错误。

替换sonar.javascript.lcov.reportPathssonar.typescript.lcov.reportPaths解决问题。

于 2019-09-11T09:10:25.880 回答
-1

你能分享詹金斯工作的控制台输出吗?

就我而言,jenkins 找不到覆盖率报告并登录控制台输出如下:

15:26:37  [ERROR] Coverage report '/home/jenkins/workspace/microservices-pipelines/xxx/target/jacoco.exec' could not be read/imported. Error: {}
15:26:37  java.lang.IllegalStateException: Failed to parse JaCoCo XML report: /home/jenkins/workspace/microservices-pipelines/xxx/target/jacoco.exec
于 2019-09-08T19:53:57.013 回答