angular - Karma 代码覆盖率未在 Sonarqube 中显示
问题描述
问题:配置业力和声纳后,Sonarqube 覆盖率为 0%。
Arch:应用使用Angular7和Node v8.14,集成Sonarqube是最新版本,JDK是java 11。
问题描述:这些是我的本地环境,在我配置并运行覆盖率和声纳后,业力覆盖率为 35%,但在声纳中仍为 0%。
请看我的代码如下:
package.json
:
"scripts": {
"ng": "ng",
"start": "node server.js",
"build": "ng build",
"test": "ng test --code-coverage",
"lint": "ng lint",
"e2e": "ng e2e",
"sonar": "sonar-scanner"
},
"dependencies": {
...
"jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~3.0.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~1.1.2",
"karma-jasmine-html-reporter": "^0.2.2",
"puppeteer": "^2.0.1"
},
"devDependencies": {
...
"sonarqube-scanner": "^2.6.0",
}
sonar-project.properties
:
sonar.projectKey=aaa
sonar.projectName=AAA
sonar.projectVersion=1.0.0
sonar.sources=src
sonar.sourceEncoding=UTF-8
sonar.test.reportPath=./test-results.xml
sonar.language=ts
sonar.exclusions=**/node_modules/**
sonar.tests=src
sonar.typescript.lcov.reportPaths=coverage/lcov.info
sonar.test.inclusions=**/*.spec.ts
karma.conf.js
:
coverageIstanbulReporter: {
dir: require('path').join(__dirname, '../coverage'),
reports: ['html', 'lcovonly', 'text-summary'],
fixWebpackSourcePaths: true
},
reporters: ['progress', 'kjhtml'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
// browsers: ['ChromeHeadless'],
// singleRun: true,
browsers: ['Chrome'],
singleRun: false,
restartOnFileChange: true
});
...
类结构
解决方案
我不知道是否是同样的问题,但这对我有用。
在 sonar-project.properties 文件中:
sonar.typescript.lcov.reportPaths=coverage/{name_proyect}/lcov.info
其中 name_proyect: 是我构建项目的路径。
推荐阅读
- dataframe - Pyspark 将数据帧写入 csv 文件并保存会出错
- php - Laravel 5.8 和 PHP 7.3 版 - 无法安装 spatie laravel-query-builder
- css - 如何将四列包装成引导轮播幻灯片
- javascript - React Ant Design - 在功能组件中生成列的最佳位置
- embedded-linux - 如何找到 runqemu 错误的解决方案?
- mysql - 我可以将 SQL 关系导出到 PowerBI 吗?
- awk - 拆分和计数 AWK
- python - 自定义消息框在 pyqt5 中不返回任何值
- java - 为什么我不能在cordova cusotm插件中调用导入的android平台api类的Java方法
- blender - Blender网格在虚幻中变形