JSON Stringify 函数 returns 相等但 chai 的相等函数 returns 不相等
JSON Stringify function returns equal but chai's equal function returns not equal
在使用 chai 'should' 断言的测试套件中,以下 returns 错误:
some.json.blob.should.equal(some.other.json.blob);
然而,这 returns 正确:
JSON.stringify(some.json.blob).should.equal(JSON.stringify(some.other.json.blob));
我知道 stringify() 函数不是测试 JSON 等价性的最可靠方法,因此我想找到一种无需通过 stringify 即可直接比较 JSON 的方法。如何在不使用 JSON.stringify() 的情况下直接比较对象?
要在不使用 JSON.stringify 的情况下比较 JSON,请在您的 chai 断言中使用深度等于:
some.json.blob.should.deep.equal(some.other.json.blob);
有关 deep.equal
的更多详细信息,请参阅 Chai's documentation。
在使用 chai 'should' 断言的测试套件中,以下 returns 错误:
some.json.blob.should.equal(some.other.json.blob);
然而,这 returns 正确:
JSON.stringify(some.json.blob).should.equal(JSON.stringify(some.other.json.blob));
我知道 stringify() 函数不是测试 JSON 等价性的最可靠方法,因此我想找到一种无需通过 stringify 即可直接比较 JSON 的方法。如何在不使用 JSON.stringify() 的情况下直接比较对象?
要在不使用 JSON.stringify 的情况下比较 JSON,请在您的 chai 断言中使用深度等于:
some.json.blob.should.deep.equal(some.other.json.blob);
有关 deep.equal
的更多详细信息,请参阅 Chai's documentation。