【发布时间】:2018-09-19 09:13:54
【问题描述】:
我正在学习如何将sonarqube 与NodeJS 项目集成,到目前为止它工作正常,但仪表板缺少unit tests 度量。用于测试项目的跑步者是mocha,我一直在使用nyc 生成lcov 文件,因此覆盖率测量显示在声纳中,但是我无法使单元测试测量显示即使我尝试了许多 mocha 记者,现在我正在尝试 mocha-junit-reporter 以创建 XML 文件。
对于要在coverage/ 中生成的 xml,这是我运行的命令:
MOCHA_FILE=./coverage/file.xml npx mocha test/**/*.js --reporter mocha-junit-reporter
Jenkins 正在使用扫描仪,它具有以下属性:
sonar.projectKey=node-user-data
sonar.projectName="User Data"
sonar.projectVersion=1.0
sonar.baseProjectDir=${workspace}
sonar.sources=${workspace}/classes
sonar.tests=${workspace}/test
sonar.language=js
sonar.sourceEncoding=UTF-8
sonar.exclusions=node_modules/**
sonar.javascript.lcov.reportPaths=coverage/lcov.info
sonar.javascript.jstestdriver.reportsPath=${workspace}/coverage/file.xml
我也尝试删除reportsPath 参数中的xml 文件,因为我已阅读它必须指向xml 文件所在的目录,但仍然无济于事。
感谢任何有关如何在仪表板中显示单元测试编号的帮助
【问题讨论】:
标签: javascript unit-testing sonarqube mocha.js