为什么 jest 代码覆盖率报告显示不一致的值?

Why is jest code coverage report showing inconsistent values?

我正在尝试获得 100% 的分支覆盖率。根据 Jest 的覆盖率报告,每个单独的文件显示 100% 的覆盖率,但“所有文件”报告显示 96.97%。

如果每个文件都是 100%,所有文件不应该也是 100% 吗?

显示 0 的文件似乎无关紧要,因为之前的拉取请求显示覆盖率为 0% 的相同文件,但“所有文件”分支 cov 为 100%。只是自从添加了我的新代码/功能后,我的覆盖范围似乎有所下降。

我正在 运行将以下内容用于 运行 我的测试并获得一份覆盖率报告:

jest --coverage --watchAll

我是否遗漏了测试覆盖率或者是否与 jest 报告覆盖率的方式不一致?

看起来 src/env/index.ts 有一个未经过测试的车工操作员。这减少了分支覆盖率,因为它是一个没有被测试的条件。

在我的例子中,我不想测试我的 env 文件所以我已经添加到我的 jest.config.js 文件

collectCoverageFrom: [
  '**/*.{ts,js}',
  '!env/index.ts', // <-- ignoring env file
  '!**/node_modules/**',
  '!**/build/**',
  '!**/dist/**',
  '!**/coverage/**'
],