为什么断言不相等?

时间:2016-12-16 04:30:05

标签: reactjs chai

我正在尝试用chai测试我的反应还原剂:

d

这是我的测试:

const initialState = {
    cartOpen: false
}

const Cart = (state = initialState, action) => {
    switch (action.type) {

        case 'INITIALIZE_CART':
           return 1

        default:
            return state
    }
}

我无法理解为什么会收到此错误:

it('should return the initial state', () => {
    expect(
        reducer(undefined, {})
    ).to.equal(
        { cartOpen: false }
    )
})

看起来预期和实际是一样的吗?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

它们是在两个不同的地方创建的两个不同的对象引用。 .equal()在引擎盖下使用===,比较引用。

如果您正在使用chai,则可以使用.deep

expect(
    reducer(undefined, {})
).to.deep.equal((
    { cartOpen: false }
)