我在服务组件上嵌套了两个服务调用,并且我正在使用swithcMap。代码像下面这样,可以很好地工作,但是单元测试不起作用。有人可以建议我在单元测试中做错了什么吗?
myService():Observable<HttpResponse<any>>{
return this.http.get<string>(this.firstURL)
.pipe(
switchMap(res1 =>{
return this.http.get<any>(res1['val1']['val2']);
}
})
}
对于测试上面的代码,我有类似的内容
it('should call http', () => {
serv.myService().subscribe(res =>
expect(res.val).toBe(100)
)
var req = httpMockServ.expectOne('testUrl');
req.flush({val:10});
});
好像没有嘲笑第二个http调用。我无法读取未定义的属性val2。