是否有一种方法可以查看角度模拟模块是否已加载



我的规范文件中有以下代码

beforeEach(function () {
    module('app');
    inject(function ($injector) {
        user = $injector.get('app.user');
    });
});

user未定义,并且没有被注入。所以我想确保app模块确实加载了。

如果未加载模块,则会出现$injector:nomod错误。如果模块已加载,但找不到服务,则会出现$injector:unpr错误。就这么简单。总是有一个面包屑痕迹,不需要探测Angular来知道它是否无声地失败。

只需确保使用了正确的模块名称。您可以使用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();
  });
});

最新更新