代码之家  ›  专栏  ›  技术社区  ›  Oscar Reyes

SonarQube Javascript:如何使用mocha显示单元测试仪表板

  •  3
  • Oscar Reyes  · 技术社区  · 7 年前

    我正在学习如何整合 sonarqube 使用 NodeJS 项目,到目前为止,它运行良好,但仪表板具有 unit tests 缺少度量值。用于测试项目的流道为 mocha 我一直在使用 nyc 生成 lcov 文件,以便覆盖率测量显示在声纳中,但即使我尝试了许多摩卡记者,我也无法使单元测试测量显示出来,现在我正在尝试 mocha-junit-reporter 为了创建 XML 文件

    要在中生成的xml coverage/ 这是我运行的命令:

    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 回复  |  直到 7 年前
        1
  •  2
  •   Elena Vilchik    7 年前

    sonar.javascript.jstestdriver.reportsPath 很长一段时间以来都不推荐使用。应使用常规报告导入: https://docs.sonarqube.org/display/SONAR/Generic+Test+Data

    要转换为通用格式,请使用以下内容 https://www.npmjs.com/package/mocha-sonarqube-reporter

    推荐文章