是否可以显示 Istanbul 尔的实际代码覆盖率,忽略“ignore”注释?
例如实际上不要忽略下一步:
/* Istanbul 尔忽略下一个 */
我们的覆盖率报告为 100% 覆盖率,但在代码中被忽略。
最佳答案
我意识到这不是您想听到的答案,尽管对我来说,这是唯一合乎逻辑的答案:从代码库中删除这些行。
让我解释一下原因: 这些行的唯一功能是确保以下行/语句不包含在覆盖率结果中。因此,如果您不希望它被忽略,请删除这些行。
如果出于某种原因,您确实想将这些行保留在代码库中。您可以考虑基于 CI 的解决方案。 创建一个作业,首先删除您想要删除的所有行。 像这样的事情:
for file in *.js
do
sed '/istanbul ignore/d' "$file" > "$file".new_file.js
mv "$file".new_file.js "$file".js
done
然后像平常一样计算代码覆盖率。
尽管如此,由于这会更改所有文件,因此在本地运行并不理想,因为您可能需要在事后 git-revert 所有更改。因此,我建议 CI,因为在那里你可以简单地结束工作并忽略你所做的更改。
关于javascript - 在 Istanbul 尔显示没有 'Ignore' 注释的真实测试覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74302170/