我有一个方法可以将 observable 作为输入并切换到新的 observable。或者,我可以使用 map 而不是 switchMap。如何使用弹珠进行测试?
mapFirstToStr(ob: Observable<boolean>): Observable<string> {
return ob.pipe(
first(),
switchMap(val => of(val ? 'A' : 'B'))
);
}
这不起作用:
const source = cold('a', { a: true });
const expected = cold('b', { b: 'B' });
expect(mapFirstToStr(source)).toBeObservable(expected);
我收到以下错误:
期望值等于:[{"frame": 0, "notification": {"error": undefined, "hasValue": true, > "kind": "N", "value": "B"}}]
收到:[{"frame": 0, "notification": {"error": undefined, "hasValue": true, > "kind": "N", "value": "B"}}, {"frame" :0,“通知”:{“错误”:>未定义,“hasValue”:假,“种类”:“C”,“值”:未定义}}]