我的spec文件中有以下代码
beforeEach(function () {
module('app');
inject(function ($injector) {
user = $injector.get('app.user');
});
});
user
未定义,并且未被注入。所以我想确保实际加载app
模块。
答案 0 :(得分:1)
如果未加载模块,则会获得$injector:nomod
error。如果模块已加载但无法找到服务,则会获得$injector:unpr
error。就是这么简单。总是存在一个痕迹痕迹,无需探测Angular是否会无声地失败。
答案 1 :(得分:0)
请确保您使用正确的模块名称。您可以使用beforeEach
加载模块。此外,使用$injector
,您可以获得您正在尝试测试的服务或控制器的实例:
'use strict';
describe('MyControllerName', function () {
var MyControllerName;
beforeEach(module('myAppMomduleName'));
beforeEach(inject(function ($injector) {
MyControllerName = $injector.get('MyControllerName');
}));
it('should create an instance of the controller', function () {
expect(MyControllerName).toBeDefined();
});
});