目前正在尝试检查非常简单的角度变量和函数。我连最简单的工作都做不到。这是我第一次使用它,我需要使用旧版本,因为我的讲师需要它。
在 app.js 中,我有很多控制器,但我只从一个控制器开始,将一个变量分配给一个字符串:
var app = angular.module('myApp', ['ngRoute']);
blah blah blah etc etc
app.controller('HomeController', function ($scope) {
$scope.name = 'Batman';
}
在 runner.html 文件中,我有以下内容:
<script src="lib/jasmine-2.2.0/jasmine.js"></script>
<script src="lib/jasmine-2.2.0/jasmine-html.js"></script>
<script src="lib/jasmine-2.2.0/boot.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script src='https://code.angularjs.org/1.4.8/angular-mocks.js'></script>
<!-- include source files here... -->
<script src="../js/main.js"></script>
<!-- include spec files here... -->
<script src="spec/test.js"></script>
在 test.js 我有以下内容:
describe('myApp', function () {
var scope, controller;
beforeEach(angular.mock.module('myApp'));
beforeEach(angular.mock.inject(function($controller,$rootScope){
scope = $rootScope.$new();
$controller('HomeController', {$scope: scope});
}));
it('sets the name', function () {
expect(scope.name).toBe('Batman');
});
});
然后我在运行测试时收到以下错误:错误:[$injector:modulerr]
编辑
这似乎是导致问题的角度路由。当我删除路由模块“ngRoute”时,它似乎运行正常。有没有办法在路由中使用茉莉花?
这样做的问题是,angular-route
尽管将库作为模块依赖项 ( angular.module('myApp', ['ngRoute'])
),但您并未将其包含在内。
我与其他库一起添加了以下内容:
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular-route.min.js"></script>
它正在工作!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句