【发布时间】:2021-04-08 13:07:57
【问题描述】:
我是角度测试的新手,我想为我的服务创建测试。
问题是我的服务 (foo) 在其构造函数中注入了另一个服务 (bar)。
所以我应该创建一个模拟吧?模拟酒吧内的每个功能?如果是这样,我需要为我导入的每个包都这样做吗?将我自己的函数编写为模拟函数?
【问题讨论】:
标签: javascript angular unit-testing angular-test
我是角度测试的新手,我想为我的服务创建测试。
问题是我的服务 (foo) 在其构造函数中注入了另一个服务 (bar)。
所以我应该创建一个模拟吧?模拟酒吧内的每个功能?如果是这样,我需要为我导入的每个包都这样做吗?将我自己的函数编写为模拟函数?
【问题讨论】:
标签: javascript angular unit-testing angular-test
您可以创建模拟/存根或使用 jasmine 间谍。
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);
});
});
【讨论】: