Я хочу иметь возможность протестировать код, который выполняется внутри наблюдаемой подписки:
function foo(someStream$: Observable<number>) {
someStream$.pipe(
map((x) => x + 3),
).subscribe((result) => {
SomeService.someFunc(result)
})
}
Например, я хочу убедиться, что someFunc()
вызывается с result
. Я думаю, что я должен быть в состоянии сделать что-то вроде
const someStream$ = cold('-a--', { a: 5 })
const someFuncSpy = spyOn(SomeService, 'someFunc')
foo(someStream$)
expect(someFuncSpy).toHaveBeenCalledWith(8)
Проблема в том, что мне скажут, что someFunc
никогда не вызывали. Я не хочу разделить поток и subscribe
на отдельные функции.