无法比较Immutable-js对象

Ami*_*spi 4 javascript chai immutable.js chai-immutable

我试图了解为什么我的简单柴(使用柴不可变)测试失败。

it('should work', () => {
   var currentState = Immutable.fromJS({
     name: 'myName',
     age: 20,
     friends: []
   });

   var newState = currentState.merge({
     name: 'someOtherName',
     age: 30
   });

   expect(newState).to.equal(Immutable.fromJS({
     name: 'someOtherName',
     age: 30,
     friends: []
   }));
});
Run Code Online (Sandbox Code Playgroud)
  • 如果我使用mergeDeep而不是merge-它仍然无法正常工作
  • 如果我比较期望值和实际值的.toJS()推算值(使用lodash isEqual),则可以...

我究竟做错了什么?我想我缺少了一些愚蠢的东西...

谢谢,阿米特。

tom*_*ome 5

尝试将两者与Immutable.is()进行比较:

let checkThis = Immutable.fromJS({
   name: 'someOtherName',
   age: 30,
   friends: []
 });
Immutable.is(newState, checkThis)//true
Run Code Online (Sandbox Code Playgroud)