Jasmine-marbles - 是否有 expect(...).ToHaveBeenCalledWithObservable(...) 函数?

Jasmine-marbles - Is there a expect(...).ToHaveBeenCalledWithObservable(...) function?

有没有办法在函数参数中测试 observable? 有没有类似expect(someObj.foo).ToHaveBeenCalledWithObservable(cold('a|', {a: 1}))的东西?

我不认为有类似的东西,但你可以利用 callFaketoBeObservable

我们 callFake 并将局部变量关联到所使用的参数。

然后我们断言您期望的localVariable toBeObservable

let argumentForFoo: Observable<any>;
spyOn(someObj.foo).and.callFake(argument => argumentForFoo = argument);
// make sure someObj.foo gets called somewhere here so the callFake can run.
expect(argumentForFoo).toBeObservable(/*...*/);