gpt4 book ai didi

unit-testing - 在 Jasmine 测试中配置 Angular 服务提供者

转载 作者:行者123 更新时间:2023-11-28 19:43:26 25 4
gpt4 key购买 nike

我的 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

最佳答案

当您调用配置函数时,您的模块已处于运行阶段。那时你不能再注入(inject)提供者。尝试移动注入(inject)了 someServiceProvider 的函数。

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

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

关于unit-testing - 在 Jasmine 测试中配置 Angular 服务提供者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17323456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com