如何在伊斯坦布尔覆盖率报告中忽略函数 _interopRequireDefault?
Posted
技术标签:
【中文标题】如何在伊斯坦布尔覆盖率报告中忽略函数 _interopRequireDefault?【英文标题】:How to ignore function _interopRequireDefault in istanbul coverage report? 【发布时间】:2016-07-22 22:02:04 【问题描述】:Babel 编译我的模块以包含以下行:
function _interopRequireDefault(obj)
return obj && obj.__esModule ? obj : default: obj ;
据我所知,是deal with CommonJS imports。
我怎样才能忽略这条线,使其不在我的覆盖率报告中?我的分支覆盖率通常会受到这条线的影响。
我无法添加内联忽略注释,例如/* istanbul ignore next */
,因为我无法直接在这一行上添加它。将注释添加到文件的开头会将其添加到类定义之前。
我也尝试使用 Babel 的 auxiliaryCommentBefore 选项在编译行之前添加注释,但它几乎在代码中的任何地方都添加了注释,因此无法使用。
在分析覆盖率时有没有办法忽略这一行?
【问题讨论】:
你使用 grunt/gulp/whatever 吗? @smnbbrv 我们使用 Gulp 和 Browserify。我们使用的测试框架是 Jasmine。 我们使用替换插件简单地将 grunt 中的这些行替换为带有/* istanbul ignore next */
的行。定义一个合适的模式,它工作得很好。
【参考方案1】:
我们最终使用了isparta,以便在转译之前使用 ES6 代码进行覆盖,这实际上更准确(我们想检查我们实际编写的代码的覆盖率,而不是编译的代码)。谢谢您的帮助。 :)
【讨论】:
以上是关于如何在伊斯坦布尔覆盖率报告中忽略函数 _interopRequireDefault?的主要内容,如果未能解决你的问题,请参考以下文章