angular - 如何在角度可观察订阅中对代码进行单元测试
问题描述
我正在为 observable 订阅中的代码编写单元测试用例,如下所示。但是这个测试失败了。有人可以在这里指出我的错误。
****组件.ts****
this.myService.myData$.pipe(takeUntil(this.destroy)).subscribe(data=>{
if (this.oldValue !== this.currentValue) {
callThisFunction(data);
}
})
****单元测试用例***** 将 myServiceMock 作为 TestBed 中 myService 的 useValue
myServiceMock = {
myValue: 'value'
myData$: of([{a: 'name', b: 'age'}])
}
it('test my data', done => {
const myFuncStub = sinon.stub(component, 'callThisFunction');
component.oldValue = 'x';
component.myData$.subscribe(item => {
expect(myFuncStub).to.have.been.called;
done();
});
});
解决方案
推荐阅读
- bash - Bash 使用源代码加载配置文件
- c# - C# 如何在 LINQ 查询中访问 SelectListItem 的 Selected 属性的值?
- sql - sql左连接问题没有给出右表不匹配的结果
- ajax - 单元侦听器启动多个请求
- apache-spark - Spark 忽略执行器和驱动程序内存的配置
- sql - 如何在用作存储过程输入的临时表上使列可选?
- python - Python 2.7 OpenCV matchTemplate,只获取最佳匹配
- angular - 如何在运行时设置 .scss 变量值?
- php - 无法在“php-jira-rest-client”中使用身份验证标头
- android - 将用户带到我的应用程序的评分页面会导致程序崩溃(仅在某些设备上)