0

我希望能够测试在可观察订阅中运行的代码:

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分开的函数分开。

4

1 回答 1

0

你可以使用Rx.Observable.of(5)而不是cold()通过 observable 传递一个数字

于 2019-04-18T08:35:25.197 回答