在测试 React.js 应用程序时如何从 Jest 获取测试覆盖率?

问题描述 投票:0回答:6

我们需要检查 React.js 应用程序的测试覆盖率,并理想情况下获取 lcov.info 输出以发送到第三方覆盖率跟踪器,例如 CoverallsCodeClimate

Jest API中不清楚如何在运行测试时获取测试覆盖率信息。

GitHub 上有一个 Open Issuehttps://github.com/facebook/jest/issues/101 以及相关的 Pull 请求:https://github.com/facebook/jest/pull/178 但PR还没有被Jest核心团队合并

是否有一种替代方式获取覆盖信息,并且有效今天

注意:我知道@adrian-adkison的建议:https://stackoverflow.com/a/27479903/1148249但是@hankhsiao的fork是相当过分的-自从他在 2.5 个月前提交 Pull Request 以来就与 jest-cli 约会......

facebook testing code-coverage reactjs jestjs
6个回答
35
投票
npm test -- --coverage

注意中间额外的

--
docs


18
投票

@hankhsiao 的分叉已被合并。我一直在使用最新的 https://github.com/facebook/jest 并取得了很好的效果。

jest --coverage

4
投票

在 script 部分下的 package.json 中添加这段代码 -

test: react-scripts test --coverage

1
投票

你可以开玩笑

jest --coverage

或者您也可以在 package.json 内的 jest 配置中将

"collectCoverage"
设置为
true
。这样,每次运行 jest 时都会生成覆盖率报告。

尽管您应该知道这会显着增加测试运行所需的时间。


0
投票

在我的package.json

 "scripts": {
    ...
    "test": "react-scripts test",
    "test:coverage": "react-scripts test --coverage",
    ...
  },

查看测试覆盖率

yarn test:coverage

0
投票

package.json

"scripts": {
    ...
    "test": "react-scripts test",
    ...
  },

运行命令

npm run test -- --watchAll=false  --coverage

您也可以查看详情

 /coverage/icov-report/src/...<file>.html
© www.soinside.com 2019 - 2024. All rights reserved.