JSON Stringify函数返回相等但chai的相等函数返回不相等
在一个使用chai“应该”断言的testing套件中,以下返回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()函数并不是testingJSON等价性的最稳健的方法,所以我想find一种直接比较JSON的方法,而不需要经过stringify。 如何直接比较对象而不使用JSON.stringify()?
要比较JSON而不使用JSON.stringify,请使用与您的chai断言相同的深度:
some.json.blob.should.deep.equal(some.other.json.blob);
有关deep.equal
更多详细信息,请参阅Chai的文档 。