首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SonarJS代码覆盖率显示为0

SonarJS代码覆盖率显示为0
EN

Stack Overflow用户
提问于 2018-08-14 20:10:24
回答 1查看 1.7K关注 0票数 2

我的构建是使用Jenkins完成的。

我使用伊斯坦布尔进行代码覆盖,如下所示

代码语言:javascript
复制
"scripts": {
"coverage": "./node_modules/.bin/istanbul  cover 
             node_modules/mocha/bin/_mocha --dir=/path/to/jenkins/workspace/BUILD_DEPLOY/parent-project1/project1/coverage"

},

lcov.info的生成方式如下

代码语言:javascript
复制
         TN:
         SF:/path/to/Deploydirectory/project1/package/plugins/file1.js
         FN:11,convetUTCtoLocal
         FN:17,customCallback
         FN:26,(anonymous_3)
         FN:50,(anonymous_4)
         FN:68,(anonymous_5)
         FN:95,(anonymous_6)
         ......

关于SonarQube获取错误

sonrQube配置

代码语言:javascript
复制
sonar.inclusions=**/*.js
sonar.scm.disabled=true
sonar.sources=$WORKSPACE
sonar.java.binaries=$WORKSPACE
sonar.projectBaseDir=/path/to

sonar.javascript.lcov.reportPaths=
/path/to/jenkins/workspace/BUILD_DEPLOY/parent-
project1/project1/coverage/lcov.info, 
/path/to/jenkins/workspace/BUILD_DEPLOY/parent- 
project2/project2/coverage/lcov.info

sonar.sourceEncoding=UTF-8
EN

回答 1

Stack Overflow用户

发布于 2019-02-28 04:35:12

您的sonar-project.properties中可能有一些属性与报告冲突,可能是路径问题?

生成lcov.info文件,并通过sonar.javascript.lcov.reportPaths (a comma-separated list)告诉声纳扫描仪它在哪里,将正确上传您的覆盖范围。

考虑到使用nyc NPM模块生成覆盖的情况(或者在您的案例中是istanbul,只要生成lcov文件),覆盖脚本和声纳配置将如下所示:

package.json

代码语言:javascript
复制
"scripts": {
    "coverage": "nyc npm test",
    "test": "mocha tests/unit/*.js"
  },

sonar-project.properties

代码语言:javascript
复制
sonar.host.url=https://sonarqube.server
sonar.scm.disabled=true

sonar.projectKey=my-app
sonar.projectName=My App
sonar.projectVersion=1.0

sonar.language=js

sonar.sources=src

sonar.javascript.lcov.reportPaths=coverage/lcov.info
sonar.eslint.reportPaths=eslint-report.json
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51841109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档