Javascript 具有函数的RxJS大理石测试对象

Javascript 具有函数的RxJS大理石测试对象,javascript,typescript,jestjs,rxjs-marbles,Javascript,Typescript,Jestjs,Rxjs Marbles,我从可观察到的物体返回。它的一个属性是函数。 即使分配了空函数并发出对象后,由于非深度匹配,toBeObservable期望也会失败 我正在使用rxjsmarbles/jest进行测试。下面是示例测试用例: it(“…”,大理石(m=>{ const source=m.cold(‘(a |)’); const expected=m.cold(‘(b |)’,{b:{ 标签:“A”, 操作:()=>{} } }); const destination=source.pipe( 地图(()=>({

我从可观察到的物体返回。它的一个属性是函数。
即使分配了空函数并发出对象后,由于非深度匹配,
toBeObservable
期望也会失败

我正在使用
rxjsmarbles/jest
进行测试。下面是示例测试用例:

it(“…”,大理石(m=>{
const source=m.cold(‘(a |)’);
const expected=m.cold(‘(b |)’,{b:{
标签:“A”,
操作:()=>{}
} });
const destination=source.pipe(
地图(()=>({
标签:“A”,
操作:()=>{}
}))
);
m、 expect(目的地)。toBeObservable(预期);
}));
结果如下:

expect(已接收).toEqual(预期)//深度相等
应为:[{“帧”:0,“通知”:{“错误”:未定义,“hasValue”:true,“种类”:“N”,“值”:{“操作”:[函数操作],“标签”:“A”}}},{“帧”:0,“通知”:{“错误”:未定义,“hasValue”:false,“种类”:“C”,“值”:未定义}]
已接收:序列化为同一字符串

我唯一需要检查的是
操作
是否在object中定义。有可能吗?

事实证明,人们可以这样定义
预期的

const expected=m.cold('(b |)),{b:{
标签:“A”,
操作:expect.any(函数)
} });
结果会匹配的

奇怪的是,我想我几天前试过了,但没用,但也许我做的不一样