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

前端之家收集整理的这篇文章主要介绍了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'

这似乎对我有用.

猜你在找的JavaScript相关文章