我在我的业力配置中包含了3个文件:1。angular.js,angular-mock.js和login.spec.js
这是我的login.spec.js:
describe("Hello World example", function() {
beforeEach(module("app"));
var loginCtrl,
scope;
beforeEach(inject(function ($rootScope, $controller) {
scope = $rootScope.$new();
loginCtrl = $controller('loginCtrl', {
$scope: scope
});
}));
it('says hello world!', function () {
expect(scope.hello).toEqual("Hello");
});
});
所以我的login.js(控制器)看起来像这样
angular.module('app')
.controller('loginCtrl', function($scope, $rootScope, $location) {
$scope.hello = 'hello';
});
但我得到了Module 'app' is not available!
答案 0 :(得分:0)
我没有看到你创建app模块。你应该将你的测试所需的app.js和所有来源包括在你的karma.json中。
答案 1 :(得分:0)
您只需将此行添加到login.js文件的顶部:
这声明了模块:
angular.module('app', []);
这将获得模块的实例(正如您所做的那样):
angular.module('app')
.controller('loginCtrl', function($scope, $rootScope, $location) {
$scope.hello = 'hello';
});
这是一个非常相似的工作Plunkr: http://embed.plnkr.co/O1otV47VxsIL5krAdUW0/preview
您还提到您已将3个文件添加到karma配置中,但未提及login.js。这也需要补充。