摩卡柴意外的断言测试错误来自对象等于对象

时间:2016-10-19 06:57:45

标签: javascript unit-testing mocha chai

我正在使用Mocha和Chai进行一些前端测试并进行以下断言。

  it('AddContact returns contact with type = ADD_CONTACT', function () {
    function hi() {return {
      type: 'ADD_CONTACT',
      data: {
        firstName: 'John',
        lastName: 'Doe',
        dateOfBirth: '1/2/89',
        phone: '123-456-7890',
        email: 'jdoe@gmail.com',
        notes: 'Most original name ever'
      }}}
    expect(hi()).to.equal({
      type: 'ADD_CONTACT',
      data: {
        firstName: 'John',
        lastName: 'Doe',
        dateOfBirth: '1/2/89',
        phone: '123-456-7890',
        email: 'jdoe@gmail.com',
        notes: 'Most original name ever'
      }
    });
  });

但是,我仍然收到错误:

  AssertionError: expected { Object (type, data) } to equal { Object (type, data) }
  + expected - actual

发生了什么事?

1 个答案:

答案 0 :(得分:3)

您必须使用to.deep.equal否则您正在测试内存中的相同对象,而不是值。