微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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'

这似乎对我有用.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐