2017-01-11 76 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'}]' –