[英]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.