pka*_*mol 4 code-coverage typescript sonarqube sonarqube-scan
我正在扫描一个ui项目。
源代码在typescript.
gulp test-coverage生成.js文件(然后扫描覆盖范围)。(每个.ts文件.js旁边都有一个文件,位于同一位置)
我将扫描仪指向lcov.info文件,如下所示:
sonar.javascript.lcov.reportPaths=test-coverage/lcov.info
Run Code Online (Sandbox Code Playgroud)
问题:
的lcov.info,提供覆盖信息.js文件
出于某种原因,SonarQube 还提供了*.ts文件的覆盖率信息(尽管未包含在测试覆盖率报告中)。
这是为什么?
如果我明确使用
sonar.inclusions=**/*.ts
Run Code Online (Sandbox Code Playgroud)
或者
sonar.language=ts
Run Code Online (Sandbox Code Playgroud)
这些.js文件将从覆盖率报告中被忽略
如果我使用
sonar.coverage.exclusions=**/*.ts
Run Code Online (Sandbox Code Playgroud)
并没有具体的夹杂物,这将导致两者的.ts和.js被扫描的错误,这将在重复的错误最终文件(毕竟,.js由它们生成的文件.ts同行。
有什么建议?
整个问题当然会消失,如果 sonarqubelcov.info不采取措施扫描其他文件。)
小智 8
如果您的源代码是用 TypeScript 编写的,则覆盖率报告 ( lcov.info) 必须包含有关 TypeScript 文件的信息,而不是已编译的 JavaScript。在这种情况下,您必须使用的属性是sonar.typescript.lcov.reportPaths。
您可以查看此示例 ( https://github.com/SonarSource/SonarTS-example ) 以获取更多详细信息。
| 归档时间: |
|
| 查看次数: |
13276 次 |
| 最近记录: |