我希望能够测试可观察的订阅中运行的代码:
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
分离为单独的功能。
答案 0 :(得分:0)
您可以使用Rx.Observable.of(5)
而不是cold()
通过可观察对象传递数字