如何在测试React.js App时从Jest获取测试覆盖率?

lnvxswe2  于 2023-09-28  发布在  Jest
关注(0)|答案(6)|浏览(152)

我们需要检查React.js应用程序的测试覆盖率,并 * 理想情况下 * 获取lcov.info输出,以发送到第三方覆盖率跟踪器,如CoverallsCodeClimate
在运行测试时,API不清楚如何获取测试覆盖率信息。
在GitHub上有一个 Open Issue**:https://github.com/facebook/jest/issues/101和相关的合并请求:https://github.com/facebook/jest/pull/178但是Jest核心团队仍然没有合并PR。
有没有一个 * 替代 * 的方式来获得覆盖信息,* 工程 * 今天**?

注意:我 * 知道 *@adrian-adkison的建议:https://stackoverflow.com/a/27479903/1148249但是@hankhsiao的fork在jest-cli上已经过时了,因为他在2.5个月前提交了Pull Request...

dced5bon

dced5bon1#

npm test -- --coverage

注意中间多了一个--

9wbgstp7

9wbgstp72#

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

jest --coverage
gmol1639

gmol16393#

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

test: react-scripts test --coverage
qkf9rpyu

qkf9rpyu4#

你可以把笑话

jest --coverage

或者你也可以在package.json的jest配置中将"collectCoverage"设置为true。这样,每次运行jest时都会生成覆盖率报告。
尽管您应该知道这会显著增加测试运行所需的时间。

0dxa2lsx

0dxa2lsx5#

package.json

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

运行命令

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

您还可以查看详细信息

/coverage/icov-report/src/...<file>.html
o8x7eapl

o8x7eapl6#

在我的package.json

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

查看测试覆盖率

yarn test:coverage

相关问题