【发布时间】:2021-11-29 13:03:31
【问题描述】:
以下是我的两种服务方式
getCountries(offset: number) {
let url = this.configManagerService.countriesApiUrl;
const httpHeaders = this.getHeaders();
return this.httpClient.get(url + offset, { headers: httpHeaders });
}
getAllCountries(offset: number = 0, resultOld: any[] = []) {
return this.getCountries(offset).pipe(
//not getting covered
switchMap((result: any) => {
offset = result.length > 0 ? offset + result.length : -1;
return offset >= 0
? this.getAllCountries(offset, [...resultOld, ...result])
: of(resultOld);
//not getting covered
})
);
}
我能够编写涵盖getCountries 函数的单元测试用例,但无法理解如何涵盖我在cmets 之间提到的关于switchMap 的代码。试图用谷歌搜索,但找不到任何符合我要求的东西。这里的任何帮助将不胜感激。谢谢。
【问题讨论】: