<分区>
我是 Angular Testing 的新手,我想为我的服务创建测试。
问题是我的服务 (foo) 在其构造函数中注入(inject)了另一个服务 (bar)。
所以我应该创建一个 mock 到 bar?模拟酒吧内的每个功能?如果是这样,我需要为我导入的每个包都这样做吗?将我自己的函数编写为模拟?
<分区>
我是 Angular Testing 的新手,我想为我的服务创建测试。
问题是我的服务 (foo) 在其构造函数中注入(inject)了另一个服务 (bar)。
所以我应该创建一个 mock 到 bar?模拟酒吧内的每个功能?如果是这样,我需要为我导入的每个包都这样做吗?将我自己的函数编写为模拟?
最佳答案
您可以创建模拟/ stub 或使用 Jasmine spy 。
export const jobServiceStub: Partial<JobService> = {
getUser() {
return {};
}
}
describe('SampleService', () => {
let service: SampleService;
beforeEach(() => {
TestBed.configureTestingModule({
providers: [
//replacing service with stub
{ provide: JobService, useValue: jobServiceStub },
UtilityService
]
});
service = TestBed.inject(SampleService);
});
it('should get all data', () => {
const utilityService = TestBed.inject(UtilityService);
const spy = spyOn(utilityService, 'getValues').and.returnValue(2);
});
});
关于javascript - 用 Angular Testing 服务的理想方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65533896/
相关文章:
javascript - NodeJS 和用于搜索查询的嵌套函数
javascript - 使用 bootstrap-select 时使用 JQuery 启用/禁用选项
javascript - 如何使用 javascript 和 php 启用或禁用组合框中的值
javascript - 在 Angular 中监听自定义 DOM 事件
angular - 使用 GraphQl 的 Apollo 客户端时如何在 watchQuery 中使用加载属性
unit-testing - 为什么 gh-unit 优于 SenTestCase(在 Xcode4 中)?