【问题标题】:JasmineJS: Test angular factory with dependenciesJasmineJS:测试具有依赖关系的角度工厂
【发布时间】:2015-11-16 09:51:50
【问题描述】:

我有一个这样定义的工厂:

angular.module("myServices")
    .factory("$service1", ["$rootScope", "$service2", function($rootScope, $service2){...})];

现在,我想对其进行测试,但仅注入 $service1 不起作用,因为我收到“未知提供者”错误。所以我尝试了类似的方法。但我仍然无法让它工作。为什么?

beforeEach(function() {
        module("myServices");

        inject(function ($injector) {
            dependencies["$service2"] = $injector.get("$service2");
        });

        module(function($provide) {
            $provide.value("$service1", dependencies["$service2"]);
        });

        inject(function($injector) {
            factory = $injector.get("$service1");
        });
    });

【问题讨论】:

    标签: javascript angularjs unit-testing testing jasmine


    【解决方案1】:

    这是我的测试中的工作,使用underscores

    describe('Service: $service1', function () {
    
        var $service2, scope;
    
        beforeEach(inject(function (_$service2_, $rootScope) {
            $service2 = _$service2_;
            scope = $rootScope;
        }));
    
        //tests
    });
    

    如果这仍然不起作用,那么可能是您没有在测试中加载相关文件(例如 service2.js)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-07
      • 2013-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-14
      • 2013-05-10
      相关资源
      最近更新 更多