Typescript边缘用例混淆了测试覆盖



我设置了一个项目来使用AVA测试运行器和NYC覆盖工具。我确信我有100%的测试覆盖率。

然而,因为我使用的是typescript,似乎typescript编译器添加了一堆边缘情况的多边形,我的测试没有覆盖,因为根本没有办法触发它们。

我如何让纽约市计算正确的覆盖率?

又是我!我想明白了!

结果证明我的假设是正确的,即多边形中的边缘情况是问题的原因。

我的解决方案很简单:

  1. 安装tslib
  2. 设置编译器选项importHelperstrue

这样,nyc不再将helper识别为我代码的一部分,并且我得到了甜蜜的100%覆盖率徽章!

最新更新