我通过运行优化了Travis Pull Request构建
npm run jest --changedSince=$TRAVIS_BRANCH
现在,PR构建中的覆盖率报告仅针对一部分文件运行。因此,∑PR_Coverage并不是项目的总覆盖率,而只是运行测试用例的文件的子集。
显示6.9的第一行与运行测试用例的所有文件的覆盖率有关
Codecov错误地计算出差异百分比为(项目总覆盖率)29%-(总PR覆盖率-实际上是总覆盖率的子集)6.9%=覆盖率降低了22%。
它在早期运行良好,因为在优化之前,PR的覆盖范围确实是项目的总覆盖范围,但是在优化之后,PR覆盖范围减小到了总覆盖范围的一部分。
参考: Jest --changedSince $TRAVIS_BRANCH
旁注:Branch版本仍将运行所有测试用例。是否有可能使用其报告的覆盖率来计算差异?