在使用chai的测试套件中应该'断言,以下返回false:
some.json.blob.should.equal(some.other.json.blob);
然而,这返回true:
JSON.stringify(some.json.blob).should.equal(JSON.stringify(some.other.json.blob));
我知道stringify()函数不是测试JSON等价的最强大的方法,所以我想找到一种直接比较JSON而不通过stringify的方法。如何在不使用JSON.stringify()的情况下直接比较对象?
答案 0 :(得分:1)
要在不使用JSON.stringify的情况下比较JSON,请使用与您的chai断言相同的深度:
some.json.blob.should.deep.equal(some.other.json.blob);
有关deep.equal
的详细信息,请参阅Chai's documentation。