Angular,Jasmine模拟整个模块的依赖,"不可用!"错误

时间:2014-05-29 12:32:33

标签: javascript angularjs unit-testing mocking jasmine

在我的模块中,我有一些依赖:

var app = angular.module('action', ['xeditable']);

Angular-xeditable是一组AngularJS指令,允许您创建可编辑元素。更多:http://vitalets.github.io/angular-xeditable/

结束没有我的Jasmine测试我想模仿所有这个模块。 我这样想:

var mocks;
beforeEach(function() {
    mocks = jasmine.createSpyObj("mocks", ["xeditable"]);

    module("action", function($provide){
        $provide.value('xeditable', mocks.xeditable)
    });
});

但我仍然得到:

Error: [$injector:nomod] Module 'xeditable' is not available! 

我知道有很多关于它的问题,但不知道如何处理,非常请求帮助:)

1 个答案:

答案 0 :(得分:3)

我解决了它,只是在加载模块之前添加了另一个beforeEach,就像那样:

beforeEach(function () {
  //mock the xeditable lib:
  angular.module("xeditable", []);
});

beforeEach(function() {
  module("action");
});