2016-03-21 6 views
0

:ここモカ偽陰性の結果

generateCredentials(username, password) { 
    return { 
    username: username, 
    password: password 
    }; 
} 

は私のテストで:

describe('#generateCredentials(username, password)', function() { 
    it('creates a JSON object with the passed in arguments', function() { 

     var creds = generateCredentials('user', 'pass'); 

     var expectedCreds = { username: 'user', password: 'pass' }; 

     expect(creds).to.equal(expectedCreds); 
    }); 
    }); 

私はエラーを取得します:

AssertionError: expected { username: 'user', password: 'pass' } to equal { username: 'user', password: 'pass' } 

予想される内容と実際に返される内容には違いはありません。 I console.logcreds & expectedCredsであり、それらは同一である。なぜモカはエラーを投げているのですか?

答えて

1

expect(...).to.equalオブジェクトが厳密に等しいかどうかをテストします(===演算子のように)。オブジェクトが深く等しい場合

({ prop: 'value' }) === ({ prop: 'value' }); // false 

はあなたが見つけることexpect(...).to.eqlを使用することができます:

expect(creds).to.eql(expectedCreds); 

注意:JavaScriptで同じプロパティと値を持つオブジェクトが等しくない私はあなたがチャイアサーション・ライブラリを使用しているとします。

関連する問題