我正在使用 Angular 。Component code
httpClient.post(URL, requestBody)
.pipe(map((result) => {
serviceCall(result);
}));
如何覆盖管道内的代码(使用 Jest 测试用例映射?
我写了如下 Jest 测试用例,但它没有涵盖管道内的语句
spyOn(httpClient, 'post').and
.returnValue(new Observable( observer => {
observer.next([]);
}));
最佳答案
代码覆盖率在测试方面没有任何意义。它只是表明引擎读取了这部分代码。
但是如果你想覆盖它,你将不得不测试你的流的最终结果。
spyOn(httpClient, 'post').and.returnValue(of({}));
spyOn(yourService, 'serviceCall').and.returnValue(of({ id: 1 });
myFunction().subscribe(res => expect(res.id).toEqual(1));
关于angular - 如何让测试用例覆盖管道内的语句(map... using jest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55017638/