我有一个组件可以调用服务来查看是否已从另一个组件宣布订阅。
成分:
this.activateProcessReadySubscription = this.returnService.processReadySubscriptionAnnouced$.subscribe(
itemsInCart => {
this.itemsInCart = itemsInCart;
});
Run Code Online (Sandbox Code Playgroud)
当我尝试对此进行测试时,出现错误:
类型错误:无法读取未定义的属性“订阅”
规格
it('should call constructor', fakeAsync(() => {
mockReturnsService.setResponse(0, true);
tick();
fixture.detectChanges();
expect(mockReturnsService.processReadySubscriptionAnnouced$Spy).toHaveBeenCalledTimes(1);
}));
Run Code Online (Sandbox Code Playgroud)
服务:
private activateProcessReadySubscriptionSource = new Subject<number>();
processReadySubscriptionAnnouced$ = this.activateProcessReadySubscriptionSource.asObservable();
announceProcessReady(itemsInCart: number) {
this.activateProcessReadySubscriptionSource.next(this.returnCartDataLength);
}
Run Code Online (Sandbox Code Playgroud)
我似乎无法弄清楚如何让订阅正确测试。