我试图了解为什么我的简单柴(使用柴不可变)测试失败。
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: [] })); });
如果我使用mergeDeep而不是merge-它仍然无法正常工作
如果我比较期望值和实际值的.toJS()推算值(使用lodash isEqual),则可以...
我究竟做错了什么?我想我缺少了一些愚蠢的东西...
谢谢,阿米特。
尝试将两者与Immutable.is()进行比较:
let checkThis = Immutable.fromJS({ name: 'someOtherName', age: 30, friends: [] }); Immutable.is(newState, checkThis)//true