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

问题描述

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

如果每个文件都是100%,难道所有文件都不都是100%吗?

显示为0的文件似乎无关紧要,因为先前的拉取请求显示的覆盖率为0%的文件相同,但“所有文件”分支cov为100%。只是因为添加了我的新代码/功能,我才发现覆盖范围已消失。

我正在运行以下命令来运行测试并获得覆盖率报告:

jest --coverage --watchAll

我是否缺少测试报道?还是说笑话报告报道的方式不一致?

code coverage report

解决方法

看起来像src/env/index.ts的Turner运算符未经测试。这会减少分支的覆盖范围,因为它是未经测试的条件。

就我而言,我不想测试我的环境文件,因此我已将其添加到jest.config.js文件中

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