【发布时间】:2019-10-28 20:35:51
【问题描述】:
我通过 RxJS 订阅者的服务完成了组件间通信。
订阅这个的组件配置如下:
export class MyComponent implements OnInit, OnDestroy {
constructor(
private myService: myService,
private datePipe: DatePipe
) {}
ngOnInit(): void {
this.mySubscription = this.myservice
.getSubject()
.subscribe(() => {
//DO..SOMEYHING
})
}
}
我们使用了 shallow 进行测试,myservice 的订阅的 next 事件被另一个组件调用。我们如何测试上面的代码块,因为我们在测试中模拟服务。
beforeEach(async () => {
shallow = new Shallow(MyComponent, MyModule)
.mock(MyService, {
getCount: () => of(25)
})
});
我们无法在测试中发送 myservice.setSubject,这会触发 ngInit 部分中的代码。
【问题讨论】:
标签: angular testing karma-jasmine