angular - 如何测试包含 SwitchMap 的嵌套服务调用
问题描述
我有一个嵌套在服务组件上的两个服务调用,并且我正在为它使用 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。
解决方案
推荐阅读
- javascript - 如何在 django 上设置文件字段按钮的样式?
- for-loop - 进度条 Dos
- machine-learning - 提取过程后的特征选择
- c# - 如何在任务完成之前返回但保持运行?
- node.js - 如果该函数需要被调用大约 250 次,是否有更聪明的方法来调用返回承诺的函数?
- python - 如何在语音命令识别程序中存储(文件/数据结构)语音命令和响应以提高速度?
- java - 在 Kafka Send() 方法的 Onfailure() 方法调用中获取 Objects 值
- python - 如何逐列屏蔽数组
- c# - 向 ObservableCollection 添加元素会导致异常索引超出范围
- javascript - Eclipse JS 编辑器好慢