我希望能够测试在可观察订阅中运行的代码:
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
分开的函数分开。