Dan*_*art 13 javascript unit-testing jasmine angularjs karma-runner
我正在尝试使用Karma + Jasmine编写单元测试,但遇到角度模拟错误.运行grunt测试时出现以下错误:
PhantomJS 1.9.8(Mac OS X)错误TypeError:'undefined'不是/ Users/danielbogart/documents/coding/work/AexNav/bower_components/angular-mocks /中的对象(评估'angular.mock = {}') angular-> mocks.js:17 Chrome 39.0.2171(Mac OS X 10.9.4)错误未捕获的TypeError:无法在/ Users/danielbogart/Documents/coding/work/AexNav/bower_components/angular-中设置undefined属性'mock'嘲笑/ angular-> mocks.js:17
Gruntfile karma配置:
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']
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
PSL*_*PSL 20
您还需要包含angular.js,然后只有angular.mocks将工作,否则window.angular将是未定义的.
files: [
'dom_munger.data.appjs',
'path/to/angular.js', //<-- include angularjs
'bower_components/angular-mocks/angular-mocks.js',
'tests/spec/*.js'
],
Run Code Online (Sandbox Code Playgroud)