React和Jest的Sonarqube覆盖配置



我在配置sonarqube时遇到问题,无法正确使用React+Jest。

我的配置:

my_moudle.sonar.projectBaseDir=front_appmy_module.sonar.javascript.file.suffixes=.js,.jsx

my_module.sonar.tests=src

my_module.sonar.test.inclusions=**/__tests__/**my_module.sonar.javascript.lcov.reportPaths=coverage/lcov.info

目前,我将src文件夹作为测试文件夹,因为我在同一项目文件夹的tests文件夹中为每个组件都有一组测试。多亏了SonarJS,我的项目有了适当的覆盖率,但我不知道为什么在覆盖率度量中看不到单元测试的数量。任何检查过的配置都将不胜感激。

谢谢,Barb

SonarJS不对单元测试报告负责,(相关常见问题条目(SonarQube负责导入机组测试报告。

我已经通过以下设置成功地做到了这一点。

首先,我们需要将笑话结果转换为声纳耗材格式。为此,我使用了以下npm模块:小丑声纳记者。

我的package.json:片段

"devDependencies": {
...
"jest": "^21.1.0",
"jest-sonar-reporter": "^1.3.0",
...
},
"jestSonar": {
"sonar56x": true,
"reportPath": "testResults",
"reportFile": "sonar-report.xml",
"indent": 4
}

您现在需要告诉jest将该模块用作处理器,并告诉声纳扫描仪使用该模块生成的文件。说明见官方文件。

如果您正在使用create-react-app/react脚本,您可能需要一些额外的步骤,因为它们不会公开所有配置。

您需要将package.json中scripts块中的测试条目修改为:

"test": "react-scripts test --env=jsdom --testResultsProcessor ./node_modules/jest-sonar-reporter/index.js

最新更新