javascript - 在 Istanbul 尔显示没有 'Ignore' 注释的真实测试覆盖率

标签 javascript unit-testing istanbul

是否可以显示 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/

相关文章:

javascript - 让纽约市/ Istanbul 尔报道报告与 typescript 一起工作

javascript - 如何让 Istanbul 与 Sails.js 0.10.x 一起使用?

javascript - 将 Angular Controller 添加到 karma 覆盖( Istanbul 尔)代码覆盖预处理器

javascript - jQuery 如何将我的有序列表转换为数组?

node.js - 如何测试方法回调的内容

javascript - Flowplayer 设置来自 Amazon S3 的 .flv 视频的开始时间

java - 安卓测试 : Can I send sms to the emulator number from test method?

java - Mockito 可以根据方法调用时的值来验证参数吗?

javascript - 如何使用 openlayers3 获得特定类型控制?

javascript - 如何使用 jQuery 添加 id 并从任意位置删除添加的 id