У меня есть компонент со следующим методом ngOnInit ():
ngOnInit() {
combineLatest([
this.observable1,
this.observable2
])
.pipe(takeUntil(this.unsubscribe$))
.subscribe(([data1, data2]) => {
this.processData(data1, data2);
});
}
Я хочу написать тест, чтобы убедиться, что вызывается метод processData ().
Я пытался что-то вот так:
it('should call processData', ()=> {
... make sure each observable1 and observable2 will emit a value
spyOn(component, 'processData');
fixture.detectChanges();
expect(component.processData).toHaveBeenCalled();
}));
expect(component.processData).toHaveBeenCalled()
всегда будет возвращать false, похоже, он не ждет, пока обе наблюдаемые выдают значение.
Мой вопрос: как проверить такой код? Как проверить, что метод вызывался внутри функции подписки оператора asyn c rx js?