2

サービス「pushServices」に対する次のサービス「ブロードキャスター」の依存関係を模倣するのに問題があります。

angular.module('broadcaster', ['pushServices']);

angular.module('broadcaster').service('broadcaster', [
    '$rootScope', '$log', 'satnetPush',
    function ($rootScope, $log, satnetPush) {
        // .. contents ..
    };
};

ジャスミンの仕様は次のとおりです。

describe('Test Broadcaster Service', function () {
    'use strict';

    var broadcasterService, mockPushService;
    beforeEach(module('broadcaster'));
    beforeEach(inject(function($injector) {

        broadcasterService = $injector.get('broadcaster');
        mockPushService = {
            getSomething: function () { return 'mockReturnValue'; }
        };

        module(function ($provide) {
            $provide.value('satnetPush', mockPushService);
        });

    }));

    it('should return a non-null broadcaster object', function () {
        expect(broadcasterService).not.toBeNull();
    });

});

表示されるエラーは、典型的な「不明なプロバイダー」です。

PhantomJS 1.9.8 (Linux) Test Broadcaster Service should return a non-null broadcaster object FAILED
    Error: [$injector:unpr] Unknown provider: $pusherProvider <- $pusher <- satnetPush <- broadcaster
    http://errors.angularjs.org/1.3.14/$injector/unpr?p0=%24pusherProvider%20%3C-%20%24pusher%20%3C-%20satnetPush%20%3C-%20broadcaster

私は何を間違っていますか?代わりにどのように依存関係を注入する必要がありますか?

4

1 に答える 1