如何在Vitest中排除特定代码行的覆盖率统计?
在Vitest中排除特定代码行参与覆盖率统计的方法
Vitest 底层兼容 Istanbul 的忽略语法,直接用你熟悉的 /* istanbul ignore next */ 及相关注释就能实现排除特定行/块的覆盖率统计,用法和 Jest 完全一致。
常用的忽略语法及示例:
- 忽略下一行:
/* istanbul ignore next */function testFunc() { /* istanbul ignore next */ if (process.env.NODE_ENV === 'production') { console.log('生产环境日志'); } } - 忽略当前行:
/* istanbul ignore line */const debugFlag = false; /* istanbul ignore line */ - 忽略整个代码块:用
/* istanbul ignore start */和/* istanbul ignore end */包裹目标代码/* istanbul ignore start */ function debugOnlyFunc() { console.log('仅调试用的函数'); } /* istanbul ignore end */
不管你用的是 Vitest 默认的 v8 覆盖率提供者,还是切换到 Istanbul 提供者,这些注释都能正常生效。只要你正常开启覆盖率统计(比如执行 vitest --coverage),被标记的代码就会被排除在覆盖率计算之外。
内容的提问来源于stack exchange,提问作者Mayank Kumar Chaudhari
相关产品推荐
相关产品推荐

