SonarQube Javascript:如何使用mocha

时间:2018-04-09 21:29:23

标签: javascript unit-testing sonarqube mocha

我正在学习如何将sonarqubeNodeJS项目进行整合,到目前为止它一直运行良好但仪表板缺少unit tests指标。用于测试项目的跑步者是mocha,并且我一直在使用nyc生成lcov文件,因此覆盖率测量值会显示在声纳中,但我不能即使我尝试过很多摩卡记者,也要显示单位测试指标,现在我正在尝试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

我还尝试删除xml参数中的reportsPath文件,因为我已经知道它必须指向xml文件但仍无效的目录。

有关如何在仪表板中显示单元测试编号的任何帮助表示赞赏

1 个答案:

答案 0 :(得分:2)

很久以来,

sonar.javascript.jstestdriver.reportsPath已被弃用。您应该使用通用报告导入:https://docs.sonarqube.org/display/SONAR/Generic+Test+Data

要转换为通用格式,请使用类似https://www.npmjs.com/package/mocha-sonarqube-reporter

的内容