我正在使用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'
这似乎对我有用.