Nah*_*nde 28 code-coverage istanbul jestjs
在Jest中,有没有办法忽略测试覆盖的代码?我试过用
/* istanbul ignore next */
Run Code Online (Sandbox Code Playgroud)
但它似乎没有用.
ily*_*yar 17
有用.
(function(global) {
var defineAsGlobal = true;
/* istanbul ignore next */
if(typeof exports === 'object') {
module.exports = lib;
defineAsGlobal = false;
}
/* istanbul ignore next */
if(typeof modules === 'object' && typeof modules.define === 'function') {
modules.define('lib', function(provide) {
provide(lib);
});
defineAsGlobal = false;
}
/* istanbul ignore next */
if(typeof define === 'function') {
define(function(require, exports, module) {
module.exports = lib;
});
defineAsGlobal = false;
}
/* istanbul ignore next */
defineAsGlobal && (global.lib = lib);
})(this);
Run Code Online (Sandbox Code Playgroud)
示例项目https://github.com/ilyar/sandbox/tree/master/jest
Spe*_*ack 11
仅适用于任何使用v8
提供程序的人:
文档现在说明如何忽略具有不同提供程序的行,并链接到更多详细信息。但基本上,要么/* c8 ignore next */
要么/* c8 ignore start */
+/*c8 ignore end */
应该与v8
提供商很好地合作。
例子:
/* c8 ignore next */
if (process.env.DEBUG) console.log('debug');
/* c8 ignore start */
switch (process.env.DEBUG) {
case '1':
console.log('some verbosity');
break;
case '2':
console.log('a lot of verbosity');
break;
}
/* c8 ignore end */
Run Code Online (Sandbox Code Playgroud)
以后发现的任何人的更新。
/* istanbul ignore next */
Run Code Online (Sandbox Code Playgroud)
可以工作,但是从The Jest Official Document阅读:
coveragePathIgnorePatterns似乎没有任何作用。
确保您没有使用babel-plugin-istanbul插件。Jest包装了伊斯坦布尔,因此还告诉伊斯坦布尔哪些文件可用于覆盖范围收集。使用babel-plugin-istanbul时,Babel处理的每个文件都将具有coverage收集代码,因此coveragePathIgnorePatterns不会忽略该文件。
因此,为了解决此问题,请卸载babel-plugin-istanbul:
如果它是仅基于javascript的库,则只能运行;
npm uninstall --save babel-plugin-istanbul
或者npm uninstall --save-dev babel-plugin-istanbul
如果您安装的库中包含需要链接的本机内容,并且已将其与rnpm链接,则可以执行以下操作:rnpm unlink package_name
然后执行步骤1-Aakash Sigdel
此报价来自Aakash Sigdel,在这里找到:报价
小智 6
找到了解决方法(评论前后的空格似乎是必要的):
class Foo {
bar /* istanbul ignore next */ () {
return 'biu~';
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11908 次 |
最近记录: |