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

How to get test coverage from Jest while testing React.js App?

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

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

Open Issue GitHub: https://github.com/facebook/jest/issues/101 and associated Pull Request: https://github.com/facebook/jest/pull/178 但是PR还没有被Jest核心团队合并。

是否有替代获取覆盖信息的方法有效今天?

注意:我知道 of @adrian-adkison suggestion in: but @hankhsiao's fork 对于 jest-cli 已经过时了,因为他2.5 个月前提交了 Pull Request...

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

jest --coverage

你可以运行开玩笑

jest --coverage

或者您也可以在 package.json 中的 jest 配置中将 "collectCoverage" 设置为 true。这样,每次 运行 开玩笑时都会生成覆盖率报告。

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

npm test -- --coverage

注意中间多出来的--docs

在您的 package.json 脚本部分下添加这段代码 -

test: react-scripts test --coverage