我从 Observable 返回一个对象。它的属性之一是函数。
在分配甚至空函数并发出对象后,toBeObservable
由于非深度匹配,期望失败。
我rxjs-marbles/jest
用于测试。这是示例测试用例:
it('...', marbles(m => {
const source = m.cold('(a|)');
const expected = m.cold('(b|)', { b: {
label: 'A',
action: () => { }
} });
const destination = source.pipe(
map(() => ({
label: 'A',
action: () => { }
}))
);
m.expect(destination).toBeObservable(expected);
}));
结果如下:
expect(received).toEqual(expected) // deep equality
Expected: [{"frame": 0, "notification": {"error": undefined, "hasValue": true, "kind": "N", "value": {"action": [Function action], "label": "A"}}}, {"frame": 0, "notification": {"error": undefined, "hasValue": false, "kind": "C", "value": undefined}}]
Received: serializes to the same string
我唯一需要检查的是是否action
在 object. 可能吗?