假设我有一个项目目录,如下所示:
comments.component.js
comments.component.spec.js
comments.controller.js
comments.controller.spec.js
comments.service.js
comments.service.spec.js
spec文件是Karma测试。
出于组织原因,我希望能够将测试放在测试代码旁边。我不想把它放在一个单独的spec文件夹中。
使用Gulp,编写一个glob会很简单,就像这样:
[ '*.js', '!*.spec.js', '*.spec.js' ]
但是,这在Karma中不起作用。如果我这样做:
files: [
'./source/js/**/*.js',
'!./source/js/**/*.spec.js',
'./source/js/**/*.spec.js'
]
这一行:'!./source/js/**/*.spec.js'
不匹配任何文件。
如何编写一个karma.conf.js文件,以便首先包含我的所有角度组件,然后包含我的所有spec文件,而不将所有规范文件隐藏在单独的文件夹中?
答案 0 :(得分:1)
如果您想避免创建另一个文件夹,请尝试这种方式:
files: [
'./source/js/**/*.service.js',
'./source/js/**/*.component.js',
'./source/js/**/*.controller.js',
'./source/js/**/*.spec.js'
]
答案 1 :(得分:0)
你的业力档案应该只有:
files: [
'./source/js/**/*.js'
]
因为您想要使用js
文件夹
答案 2 :(得分:0)
我刚刚发现了与您的问题相关的内容。我看了官方的Angular-seed GitHub repo,他们的Karma配置文件看起来像这样:
files : [
'app/bower_components/angular/angular.js',
'app/bower_components/angular-route/angular-route.js',
'app/bower_components/angular-mocks/angular-mocks.js',
'app/components/**/*.js',
'app/view*/**/*.js'
],
因此,您似乎不必关心首先包含源代码,并且在"文件的末尾包含测试文件"阵列。 这是链接:https://github.com/angular/angular-seed/blob/master/karma.conf.js