我在现有项目中设置业力。我有它正常工作并运行测试,但我似乎无法覆盖工作。
我安装了所有必要的模块,但我认为这与我如何在"预处理器"中包含我的文件有关。对象
我的项目是使用下面的文件结构设置的
App
|--js
|-- fileToTest.js
|-- fileToTest.Tests.js
在业力覆盖文档中,它表示在设置覆盖范围时不包括测试或库。我想我想知道如何用" .Tests.js"排除文件。在末尾。
我的预处理器对象如下所示。有没有办法包含我想要使用glob生成覆盖的文件,或者遗憾的是我不得不单独添加这些文件?
preprocessors: {
'./App/**/*.tpl.html' : 'ng-html2js',
'./App/**/*.js': ['coverage']
}
答案 0 :(得分:1)
Karma使用https://github.com/isaacs/minimatch查找文件(这里提到http://karma-runner.github.io/0.12/config/preprocessors.html),以便您可以使用glob。
在我们的项目中,我们只是从各种文件夹添加我们的代码,它并没有那么糟糕:
preprocessors: {
// source files, that you wanna generate coverage for
// do not include tests or libraries
// (these files will be instrumented by Istanbul)
'www/js/controllers/**/*.js': ['coverage'],
'www/js/directives/**/*.js': ['coverage'],
'www/js/filters/**/*.js': ['coverage'],
'www/js/initializers/**/*.js': ['coverage'],
'www/js/services/**/*.js': ['coverage'],
'www/js/services.js': ['coverage']
}
编辑:
对此https://github.com/karma-runner/karma/issues/508
的反应似乎这种语法正常工作
resources/javascript/**/!(*Spec).js
适用于你,
'./App/**/!(*Tests).js': ['coverage']