【发布时间】:2014-02-11 19:39:30
【问题描述】:
我正在尝试连接 Karma 测试运行器,使用此 seed project 作为模型。
我将种子项目拉入并构建它,测试运行器运行良好。
当我编辑 karma.conf.js 配置文件以开始包含我的项目中的文件并将其移动到我当前的设置(在种子项目之外)时,我收到此错误:
Running "karma:dev" (karma) task
ERROR [config]: Error in config file!
[ReferenceError: JASMINE is not defined]
ReferenceError: JASMINE is not defined
at module.exports (C:\dev_AD_2014.01_PHASE1\config\karma-dev.conf.js:4:7)
...
我想我明白它在抱怨什么......在种子项目中,它的业力配置文件是旧格式,必须在某处定义 JASMINE 和 JASMINE_ADAPTER:
种子项目业力配置 sn-p
files = [
JASMINE,
JASMINE_ADAPTER,
'../app/lib/angular/angular.js',
'lib/angular/angular-mocks.js',
'../app/js/*.js',
....
];
exclude = ['karma.conf.js'];
...
我较新的设置使用所有最新的 grunt 插件,并希望将配置文件包装在模块定义中,如下所示:
我的业力配置 sn-p
module.exports = function(config) {
config.set({
files: [
JASMINE,
JASMINE_ADAPTER,
// library and vendor files
'../dev/vendor/**/*.js'
'../dev/app/**/*.js'
],
exclude: ['**/*.e2e.js', '../config/*.js'],
reporters: ['progress'],
...
所以问题似乎很明显:一些 grunt 插件的较新版本期望模块化定义,但更长的是将JASMINE 等设置为定义的变量。这是我的猜测,但我对如何解决这个问题有点迷茫。如果可以的话,我不想使用种子项目附带的 Karma 版本......我认为它是 0.4.4 版本。我相信最新的稳定版本是 0.10.x。
我做错了什么?
谢谢!
【问题讨论】:
标签: gruntjs karma-runner