gpt4 book ai didi

javascript - 将 Angular Controller 添加到 karma 覆盖( Istanbul 尔)代码覆盖预处理器

转载 作者:行者123 更新时间:2023-11-30 07:39:49 25 4
gpt4 key购买 nike

我的项目是这样设置的:

project/
assets/
js/
app.js
services.js
directives.js
controllers/
FooCtrl.js
BarCtrl.js
css/
images/
test/
unit/
controllers/
controllerSpec.js

我正在努力将 js/ 下的所有文件添加到 karma-coverage 的 preProcessor 指令中。

这样做

preprocessors: {
'**/assets/js/*.js': ['coverage'],
},

只为 assets/js/ 下的文件生成覆盖率报告,而不为 assets/js/controllers/ 下的文件生成覆盖率报告。

指定单个 Controller :

preprocessors: {
'**/assets/js/controllers/FooCtrl.js': ['coverage'],
},

只是说“没有要显示的数据”。

最后,只是做一个通配符:

preprocessors: {
'**/*.js': ['coverage'],
},

直接显示assets/js/test/unit/controllers/ test/lib/等所有文件的数据,但它仍然拒绝显示 assets/js/controllers/ 的任何覆盖率数据。

最佳答案

我发誓 StackOverflow 有一些神奇之处。我花了一个小时让它开始工作,然后放弃,发布了这个问题,2 分钟后我弄明白了。

我错误地将文件从 files 数组移动到 preprocessors 指令。要获得某个文件的代码覆盖率,它需要位于两个地方,即 files 数组和 preprocessors

我的最终配置如下所示:

files : [
//3rd Party Code
'bower_components/angular/angular.js',
'bower_components/angular-route/angular-route.js',
'bower_components/angularjs-scope.safeapply/src/Scope.SafeApply.js',

//App-specific Code
'assets/js/app.js',
'assets/js/services.js',
'assets/js/directives.js',
'assets/js/resources.js',
'assets/js/controllers/*.js',

//Test-Specific Code
'node_modules/chai/chai.js',
'test/lib/chai-should.js',
'test/lib/chai-expect.js'
],

preprocessors: {
'**/assets/js/*.js': ['coverage'],
'**/assets/js/controllers/*.js': ['coverage']
},

关于javascript - 将 Angular Controller 添加到 karma 覆盖( Istanbul 尔)代码覆盖预处理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20509050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com