2016-12-16 4 views
0

私はチャイと私の反応減速をテストしようとしています:アサーションが等しくないのはなぜですか?

cart reducer should return the initial state:              

AssertionError: expected { cartOpen: false } to equal { cartOpen: false }       
+ expected - actual                     


at Context.<anonymous> (C:/Usersdevelop_5dec/foss/foss-frontend/test/cart.spec.js:11:14) 

:私はこのエラーを取得する理由

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

私は理解することはできません:これは私のテストです

const initialState = { 
    cartOpen: false 
} 

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

     case 'INITIALIZE_CART': 
      return 1 

     default: 
      return state 
    } 
} 

予想どおりで、実際は同じですか?これをどうすれば解決できますか?

答えて

0

2つの異なる場所で作成された2つの異なるオブジェクト参照です。 .equal()は参照を比較するフードの下に===を使用します。

あなたがチャイを使用している場合は、「このくらい」によって.deep

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

素晴らしい感謝の男 –

+1

ビートを使用することができます。私は似たような代替eqlを提案しようとしていた:http://chaijs.com/api/bdd/#method_eql – Chris

関連する問題