簡體   English   中英

在Jasmine測試中配置Angular服務提供程序

[英]Configuring Angular service provider in Jasmine test

我的someModule模塊上有一個服務:

someModule.provider('someService', function() {
    this.options = {};
    this.$get = function () {
        return options;
    };
});

我正在寫一個規范,到目前為止我有以下內容:

beforeEach(mocks.module('directives', ['someModule']));

beforeEach(function () {
    directives.config(function (someServiceProvider) {
        someServiceProvider.options({ foo: 'bar' });
    });
});

我需要在我的規范中的每個測試之前配置我的someService服務。 但是,以下代碼會產生錯誤: Error: Unknown provider: someServiceProvider

我做錯了什么? 我想如果我需要一個模塊,那么該模塊上可用的任何提供者都將被“繼承”? 如何在此測試中配置someService服務中的options

當您調用配置功能時,您的模塊處於運行階段。 此時您無法再注入提供者。 嘗試移動注入了someServiceProvider的函數。

beforeEach(module('myModule', function(someProvider) {
    someProvider.configure(1);
}));

it('should work now', inject(function(some) {
    expect(some.func()).toBeAvailable();
}));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM