首页 文章

Angular未定义karma-jasmin测试错误

提问于
浏览
3

我是使用Karma-jasmine进行测试的新手,但是却出错了 .

我的karma.conf.js

files: [
  'test/*Spec.js',
  'app/js/*.js'
],

此错误在命令行中显示

Chrome 39.0.2171(Windows 7)错误
未捕获的TypeError:无法读取未定义的属性“模块”
在D:/Test_Samples/WebContent/MyTest/app/js/angular-route.js:24

Firefox 34.0.0(Windows 7)错误
TypeError:angular未定义
在D:/Test_Samples/WebContent/MyTest/app/js/angular-route.js:24

IE 8.0.0(Windows 7)错误
'undefined'为null或不是对象
在D:/Test_Samples/WebContent/MyTest/app/js/angular-route.js:24

角route.js:24

/* global -ngRouteModule */
var ngRouteModule = angular.module('ngRoute', ['ng']).provider('$route', $RouteProvider),
    $routeMinErr = angular.$$minErr('ngRoute');

2 回答

  • 6

    您必须在测试之前导入角度和角度 . 这是我正在使用的配置示例:

    files: [
        {pattern: 'src/main/webapp/static/libs/jquery/dist/jquery.js', watch: false},
        {pattern: 'src/main/webapp/static/libs/angular/angular.js', watch: false},
        {pattern: 'src/main/webapp/static/libs/angular-resource/angular-resource.js', watch: false},
        {pattern: 'src/main/webapp/static/libs/angular-mocks/angular-mocks.js', watch: false},
        {pattern: 'src/main/webapp/static/libs/angular-ngkit/js/ngkit.js', watch: false},
        'src/main/webapp/static/templates/angular/*.html',
        'src/main/webapp/static/js/angular/**/*.js',
        'src/test/js/spec/angular/*.js'
     ],
    

    避免观看库( watch: false )是最佳做法,因为这些文件在开发过程中不会改变!

    定义“ basePath ”属性也很重要,因为所有路径都将使用该根解析!

  • 0

    您需要在任何其他角度文件之前引用angular.js文件 . 确保根据安装karma时获得的配置文件检查配置文件 . 有关详细信息,请参阅此网页 . http://karma-runner.github.io/0.12/config/configuration-file.html

相关问题