【发布时间】:2015-03-05 14:24:47
【问题描述】:
我正在尝试使用 Karma + Jasmine 编写单元测试,但遇到 angular-mocks 错误。运行 grunt test 时出现以下错误:
PhantomJS 1.9.8 (Mac OS X) 错误 TypeError:“未定义”不是对象(评估“angular.mock = {}”) 在 /Users/danielbogart/Documents/coding/work/AexNav/bower_components/angular-mocks/angular->mocks.js:17 Chrome 39.0.2171 (Mac OS X 10.9.4) 错误 未捕获的类型错误:无法设置未定义的属性“模拟” 在 /Users/danielbogart/Documents/coding/work/AexNav/bower_components/angular-mocks/angular->mocks.js:17
Gruntfile 业力配置:
karma: {
options: {
frameworks: ['jasmine'],
files: [
'dom_munger.data.appjs',
'tests/spec/*.js',
'bower_components/angular-mocks/angular-mocks.js'
],
logLevel: 'ERROR',
reporters: ['mocha'],
autoWatch: false, //watching is handled by grunt-contrib-watch
singleRun: true
},
all_tests: {
browsers: ['PhantomJS', 'Chrome']
},
during_watch: {
browsers: ['PhantomJS']
}
}
谢谢!
【问题讨论】:
-
您还需要包含 angular.js,然后只有 angular.mocks 可以工作,否则 window.angular 将是未定义的。
标签: javascript angularjs unit-testing jasmine karma-runner