我使用 Node.js、mocha 创建了一个简单的项目,并生成了代码覆盖率和单元测试报告,如下所示:
mocha -R lcov --ui tdd > coverage/coverage.lcov
mocha -R xunit --ui tdd > coverage/TEST-all.xml
使用 Sonar 运行器生成的报告不反射(reflect) Sonarqube 上的覆盖范围。使用 sonar-examples-master 附带的 LCOV 的样本测试 javascript 项目也在 Sonarqube 中显示了 0% 的代码覆盖率。
Sonar 属性设置如下:
sonar.language=js
sonar.sourceEncoding=UTF-8
sonar.tests=test
sonar.javascript.jstestdriver.reportsPath=coverage
sonar.javascript.lcov.reportPath=coverage/coverage.lcov
sonar.dynamicAnalysis=reuseReports
期待有关如何解决此问题并使 SonarQube 能够报告现有 LCOV 报告的覆盖范围的意见。
谢谢,
新
最佳答案
JS 测试驱动程序作为 Sonar Javascript 1.5 版本的一部分被删除,http://jira.codehaus.org/browse/SONARPLUGINS-3408
所以我切换回 1.4 插件。
关于 LCOV,我必须将 LCOV 中的路径与 sonar.sources 路径匹配。 所以 sonar.sources=网络应用程序/应用程序
LCOV 就像 SF:webapp/app/path/to/js.js
希望对您有所帮助,我可以在明天再次上类时纠正我可能犯的任何错误。
关于node.js - Sonarqube 未检测到使用 mocha 生成的 LCOV 报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21963276/