javascript - 找不到 Angular JS Karma 模块

标签 javascript angularjs jasmine karma-runner

我在尝试测试 angular js 代码时收到错误消息 -“ReferenceError: module is not defined”。

测试脚本 [testSpec.js]

describe('Project controllers', function() {
beforeEach(module('project')); 
describe('ListCtrl', function() {
    expect(1).toBe(1);
});
});

我的 html 文件中有以下条目

<script src="angular.min.js"></script>
<script src="angular-resource.min.js"></script>
<script src="angular-mocks.js"></script>

后面是我的测试脚本 - testSpec.js

我特地再次包含了 angular.js 和 angular-mocks.js。我看到以下错误消息

Chrome 31.0.1650 (Windows 7) Project controllers ListCtrl should create 11 records FAILED
    TypeError: Object #<Object> has no method 'apply'
    Error: Unknown provider: ProjectsProvider <- Projects
        at Error (<anonymous>)
        at c:/Angular/angular-phonecat/app/angular.min.js:30:24
        at Object.c [as get] (c:/Angular/angular-phonecat/app/angular.min.js:27:310)
        at c:/Angular/angular-phonecat/app/angular.min.js:30:109
        at c (c:/Angular/angular-phonecat/app/angular.min.js:27:310)
        at d (c:/Angular/angular-phonecat/app/angular.min.js:27:444)
        at Object.instantiate (c:/Angular/angular-phonecat/app/angular.min.js:29:80)
        at c:/Angular/angular-phonecat/app/angular.min.js:53:80
        at null.<anonymous> (c:/Angular/angular-phonecat/app/testSpec.js:10:12)
        at Object.d [as invoke] (c:/Angular/angular-phonecat/app/angular.min.js:28:464)
    Error: Declaration Location
        at window.jasmine.window.inject.angular.mock.inject (c:/Angular/angular-phonecat/app/angular-mocks.js:1781:2

这是完整的错误

5) at null.<anonymous> (c:/Angular/angular-phonecat/app/testSpec.js:8:34)\n
   at null.<anonymous> (c:/Angular/angular-phonecat/app/testSpec.js:6:2)\n
   at c:/Angular/angular-phonecat/app/testSpec.js:2:1

Chrome 31.0.1650 (Windows 7) Project controllers ListCtrl should contain new fields FAILED
    TypeError: Object #<Object> has no method 'apply'
    Error: Unknown provider: ProjectsProvider <- Projects

最佳答案

我怀疑您在 karma 配置文件中遗漏了一些包含文件。具体来说,请确保加载 angular.js。

关于javascript - 找不到 Angular JS Karma 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21059604/

相关文章:

javascript - 如何在范围外更改 AngularJS 数据?

javascript - Angular 中 $scope.Variable 和 $scope.Function 之间的区别?

css - Jasmine 测试 css 选择器的存在

javascript - 如何使用 Karma 测试 AngularJS Controller 中的 $element?

angular - 单元测试 FormGroup 无法读取未定义的 Prop 值

javascript - Strtr 用于 angularjs,就像 PHP 中一样(尝试音译)

javascript - 指令的递归调用导致浏览器选项卡崩溃

javascript - jQuery .focus() 不工作

javascript - 如何动态更改 css 值(如整个应用程序中的颜色)等

javascript - 删除表格单元格,而下一行的单元格填充该位置