【问题标题】:how to mock the dependencies of module in angular js using jasmine如何使用 jasmine 在 Angular js 中模拟模块的依赖关系
【发布时间】:2018-02-19 20:20:36
【问题描述】:

我正在使用 jasmine 进行单元测试,在我的案例中,模块有一些第三方和一些自定义依赖项,我尝试了一些方法来模拟这些依赖项,但它对我不起作用。

下面是我的代码示例

Module.js

 var myApp = angular.module('mpapp', ['customservice', "xeditable",'ui.bootstrap', 'ngSanitize']); 

testmodule.js

angular.mock.module('customservice', []);

angular.mock.module('xeditable', []);

angular.mock.module('ui.bootstrap', []);

angular.mock.module('ngSanitize', []);

module('myapp');

--- 这里有一些必需的测试用例。

就像我试图模拟但它得到错误

"[$injector:modulerr] http://errors.angularjs.org/1.5.9/$injector/modulerr?p0=eai.pages&p1=Error%3A%20%5B%24injector%3Amodulerr%5D%20http%3A%2F%2Ferrors.angularjs.org% 2F1.5.9%2F%24injector%2Fmodulerr%3Fp0%3Dui.bootstrap%26p1%3DError%253A%2520%255B%2524injector%253Anomod%255D%2520http%253A%252F%252Ferrors.angularjs.org%252F1.5.9%252F% 2524injector%252Fnomod%253Fp0%253Dui.bootstrap%250A%2520%2520%2520at%2520Anonymous%2520function%2520(文件%253A%252F%252F%252Fd%253A%252Fvinoth%252Feai%252Fmetlife.eai-new%2252Fmetlife.eai-new 252Fangular%252Flib%252Fangular.min.js%253A25%253A229)%250A%2520%2520%2520at%2520b%2520(file%253A%252F%252F%252Fd%253A"

所以,请给我任何解决此问题的建议。谢谢。

【问题讨论】:

    标签: angularjs unit-testing jasmine


    【解决方案1】:

    我是这样做的

      beforeEach(
        function(){
          module('myModule');
    
          inject(function(_$compile_, _$rootScope_,_myService_){
            $compile = _$compile_;
            $rootScope = _$rootScope_;
            myService= _myService_;
    
            //test code here
    
          }
        );
    

    【讨论】:

    • 谢谢,但我尝试过类似 angular.mock.inject(function ($injector) { $mockservice = $injector.get('customservice'); $mocktable = $injector.get( 'xeditable'); });这也仅显示相同的错误
    猜你喜欢
    • 1970-01-01
    • 2021-02-12
    • 2014-07-18
    • 2016-02-26
    • 2020-01-11
    • 2015-12-28
    • 1970-01-01
    • 2015-02-04
    • 2018-06-28
    相关资源
    最近更新 更多