gpt4 book ai didi

gruntjs - 试图在 gruntfile 配置中排除文件,但文件路径前缀破坏了表达式

转载 作者:行者123 更新时间:2023-12-04 23:52:53 25 4
gpt4 key购买 nike

我正在使用查找所有单元测试文件的 karma 任务设置 grunt。我需要访问所有 *.js文件和 *.spec.js文件,但我想排除所有 *.e2e.js文件。基于 node glob文档,我希望以下工作(在 karma.conf.js 中):

files: [
'vendor/angular/angular.js',
'vendor/angular-mocks/angular-mocks.js',
'vendor/angular-resource/angular-resource.js',
'app/**/*.js',
'!app/**/*.e2e.js'
],

但是,当我尝试运行我的 grunt test 时任务,它仍然尝试加载这些 e2e.js测试,因为每个测试都引用 protractor 而中断,而 karma 会被 protractor 混淆。根据我的控制台,我看到的 URL 是这样的:
userdirectory/repo/!app/mytest.e2e.js
似乎完整的文件路径(或至少其中的一部分)被预先附加到我在 karma.conf.js 中提供的文件 glob 模式中。 grunt 在加载 karma 任务后会这样做吗?

最佳答案

我的问题是 karma 不使用与 grunt 相同的 globber 语法。根据 karma documentation , 使用 'files' 来显示要包含的内容,以及 exclude显示您要排除的内容:

exclude
Type: Array
Default: []
Description: List of files/patterns to exclude from loaded files.

这是我的修复:
files : [
// libraries / vendor files needed to test souce code
'vendor/angular/angular.js',
'vendor/angular/angular-route.js',
'vendor/angular/angular-mocks.js',
'vendor/require/*.js',
// all souce .js files, as well as all .spec.js test files
'app/modules/**/*.js'
],
exclude : [
// exclude all *.e2e.js end to end test files from being included
// - Karma will break when trying to load protractor
'app/modules/**/*.e2e.js'
]

关于gruntjs - 试图在 gruntfile 配置中排除文件,但文件路径前缀破坏了表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19716067/

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