Reactjs 如何使用react create应用程序获取代码覆盖率报告?

Reactjs 如何使用react create应用程序获取代码覆盖率报告?,reactjs,npm,jestjs,Reactjs,Npm,Jestjs,如果我跑 npm test --coverage 测试通过,但未运行覆盖率 当我将package.json更改为 react-scripts test --coverage 然后,当我执行npm测试和a时,它运行测试,但不运行覆盖率 测试与覆盖率报告一起运行,但覆盖率显示覆盖率为全零 PASS src/components/Header/SubHeader.test.js The <SubHeader /> component ✓ should render (4

如果我跑

npm test --coverage
测试通过,但未运行覆盖率

当我将
package.json
更改为

react-scripts test --coverage
然后,当我执行
npm测试
a
时,它运行测试,但不运行覆盖率

测试与覆盖率报告一起运行,但覆盖率显示覆盖率为全零

 PASS  src/components/Header/SubHeader.test.js
  The <SubHeader /> component
    ✓ should render (4ms)
    ✓ should render with a goback button (1ms)
    ✓ should render

----------|----------|----------|----------|----------|-------------------|
File      |  % Stmts | % Branch |  % Funcs |  % Lines | Uncovered Line #s |
----------|----------|----------|----------|----------|-------------------|
All files |        0 |        0 |        0 |        0 |                   |
----------|----------|----------|----------|----------|-------------------|
Test Suites: 1 passed, 1 total
Tests:       3 passed, 3 total
Snapshots:   3 passed, 3 total
Time:        1.077s
Ran all test suites.

问题:为什么其他方法不起作用?

您需要在测试脚本中添加watch选项:

npm测试——观察所有——覆盖范围


似乎测试覆盖率需要考虑所有文件。

您使用的是哪种版本的CRA和Jest?我过去遇到过一个问题,使用
npm运行测试--coverage--watchAll=false
为我解决了这个问题(不是最优的,但是…)注意,您的第一个问题被明确指出了-您缺少
--
,因此
--coverage
转到
npm运行
反应脚本测试
。这与CRA/Jest无关,只是NPM脚本的工作方式。第二个似乎是一个bug:。
npm run test .