javascript – 使用Karma和Istanbul时从coverage中排除文件

我正在使用Karma来测试我的 JavaScript并获得覆盖率报告.我正在使用伊斯坦布尔覆盖率报告,这是认值.这是我的预处理器参数:
preprocessors: {
        'framework/**/*.js':'coverage','framework/*.js':'coverage','!framework/node/**/*.js':'coverage','!framework/test/**/*.js':'coverage','framework-lib/**/*.js':'coverage','!framework-lib/tool-data-api/tool-data-api.js':'coverage'
    }

如你所见,我正在尝试使用“!”作为negate命令,通常与Node一起使用.但是,它不能在这里工作,我的目录都没有被排除.

有什么方法可以做我想要完成的事情吗?

解决方法

根据 https://karma-runner.github.io/0.12/config/configuration-file.html

**/*.js: All files with a “js” extension in all subdirectories
**/!(jquery).js: Same as prevIoUs,but excludes “jquery.js”
**/(foo|bar).js: In all subdirectories,all “foo.js” or “bar.js” files

所以,基于此,我尝试了以下内容

preprocessors: {
    'framework/**/!(node|test)/*.js': 'coverage','framework-lib/**/!(tool-data-api).js': 'coverage'
}

这似乎已经完成了你正在寻找的东西.

作为对来到这里寻找如何定位所有文件EXCEPT .spec.js文件的其他人的说明,请尝试:

'**/!(*spec).js'

这似乎对我有用.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...