【发布时间】:2021-10-19 08:02:12
【问题描述】:
我正在尝试为我的 Angular 6 项目设置 sonarqube。我有 5 个运行良好的基本测试,下面给出了业力覆盖率报告
Chrome 92.0.4515 (Windows 10.0.0): Executed 5 of 5 SUCCESS (0.807 secs / 0.868 secs)
=============================== Coverage summary ===============================
Statements : 29.65% ( 282/951 )
Branches : 23.37% ( 115/492 )
Functions : 16.84% ( 32/190 )
Lines : 28.2% ( 258/915 )
================================================================================
我在本地设置了 sonarqube 以查看覆盖率报告,但它始终将覆盖率设为 0%。
由于业力显示出一些覆盖范围,我希望声纳覆盖范围至少应该是少数。
sonar-project.properties 文件
sonar.host.url=http://localhost:9000
sonar.login=admin
sonar.password=admin123
sonar.projectKey=myproject:ui
sonar.projectName=Sample App
sonar.projectVersion=0.0.0
sonar.sourceEncoding=UTF-8
sonar.sources=src
sonar.exclusions=**/node_modules/**
sonar.tests=src
sonar.test.inclusions=**/*.spec.ts
sonar.typescript.lcov.reportPaths=coverage/myproject/lcov.info
package.json sn-p
"scripts": {
"sonar": "sonar-scanner"
},
"devDependencies": {
"jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~1.7.1",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.0",
"karma-jasmine": "~1.1.1",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.3.0",
"sonar-scanner": "^3.1.0",
}
lcov.info 文件位于 src/coverage/myproject/lcov.info 下
我运行了npm run sonar,我可以看到sonarqube 中的覆盖率为0.0 %
请帮我解决问题
【问题讨论】:
-
为什么要排除所有规范文件?
-
我认为
sonar.exclusions仅用于代码质量,因为我在测试包含中包含了规范,所以它应该可以工作。 -
更新
sonar.exclusions=**/node_modules/**,src/assets/**, **/*.e2e.ts, **/environments/**/*, **/*.routes.ts, **/main.ts,**/polyfills.ts仍然看到相同的结果 -
您确定要排除这样的文件吗?这不是将它们排除在一般声纳之外吗?也许这会有所帮助,其中规范文件仅被排除在其自身之外:community.sonarsource.com/t/setting-sonar-scanner-exclusions/…
-
嗯,我不确定,可以将其更改为仅排除节点模块
sonar.exclusions=**/node_modules/**,仍然没有任何变化
标签: angular typescript sonarqube code-coverage