2017-01-11 108 views
0

chai是否可以通過值聲明對象數組?chai按值賦予對象數組

這裏是我的代碼:

var expected = [ 
    { 
     a: 10 
    } 
]; 

var actual = [ 
    { 
     a: '10' 
    } 
]; 

// ... 

assert.sameDeepMembers(expected, actual); 

它給了我下面的錯誤:

AssertionError: expected [ { a: 10 } ] to have the same members as [ { a: '10' } ] 

所以我想柴忽略的屬性的類型:一。

回答

1

您的類型是不同的。截至sameDeepMembers齊先生的定義:

Asserts that set1 and set2 have the same members - using a deep equality checking. Order is not taken into account. 
在JavaScript

深平等是===從而有望整型10是不一樣的和字符串類型'10'

(10 === '10') // false

也許柴氏assert.sameMembers是你在找什麼對於。

+0

很明顯。也許我的問題不是。我正在尋找一種忽略類型的解決方案。我需要一個解決方案,而不是通過價值斷言的'sameDeepMembers'。謝謝@Jay –

+0

@FarkasIstván更新後 – Jay

+0

'assert.sameMembers(expected,actual,'not ok');'它給出'AssertionError:不好:預計[{a:10}]擁有與[{ a:'10'}]' –