提问者:小点点

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


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

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

显示0的文件似乎不重要,因为以前的拉请求显示相同的文件,覆盖率为0%,但“所有文件”分支覆盖率为100%。只是在添加了我的新代码/特性之后,我才似乎降低了覆盖率。

我正在运行以下程序来运行测试并获取覆盖率报告:

jest --coverage --watchAll

我是否错过了测试覆盖率,还是与jest报告覆盖率的方式不一致?


共1个答案

匿名用户

看起来src/env/index.ts有一个未测试的turnery运算符。这会减少分支覆盖率,因为它是一个没有被测试的条件。

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

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