我正在使用角度。
Component code
httpClient.post(URL, requestBody)
.pipe(map((result) => {
serviceCall(result);
}));
如何在管道内覆盖代码(使用Jest测试用例映射?
我写了如下这样的开玩笑的测试用例,但它没有涵盖管道内的语句
spyOn(httpClient, 'post').and
.returnValue(new Observable( observer => {
observer.next([]);
}));
答案 0 :(得分:1)
在测试中,代码覆盖范围没有任何意义。它只是表明引擎读取了这部分代码。
但是,如果您想覆盖它,则必须测试流的最终结果。
spyOn(httpClient, 'post').and.returnValue(of({}));
spyOn(yourService, 'serviceCall').and.returnValue(of({ id: 1 });
myFunction().subscribe(res => expect(res.id).toEqual(1));