我有一个简单的功能来做到这一点
ngOnInit() { if (this.session.getToken()) { this.isUserLogged = true; } this.loadingObserver = this.session.loadingObservable.subscribe(loading => this.isLoading = loading); }
我的测试如下
it('Testing ngOnInit() ...',async(() => { let spy = spyOn(services.session,'getToken').and.returnValue('token'); services.session.loadingObservable.subscribe(any => expect(component.isLoading).toEqual(false)); component.ngOnInit(); expect(component.isUserLogged).toEqual(true); expect(spy).toHaveBeenCalled(); }));
但在我的应用程序的代码覆盖范围内,订阅不包括在内.事实上,期待虚假也有效.
您对如何测试订阅有任何想法吗?