【发布时间】:2022-01-14 14:14:25
【问题描述】:
我正在尝试比较第一个数组响应如下的 2 个数组:
response= [
{
organization: {
id: '75f1e2e1-83eb-484e-bdaf-1da9b57c635d'
},
{
organization: {
id: '810d0465-2917-4d67-802a-69cda41647ad'
}
]
第二个数组
expectedResponse=
[
{
organization: {
id: '810d0465-2917-4d67-802a-69cda41647ad'
},
organization: {
id: '75f1e2e1-83eb-484e-bdaf-1da9b57c635d'
}
]
我编写的用于比较 2 个数组的断言函数如下
response.body.forEach(function (index) {
expect(response.body[index].organization.id).to.eql(
expectedResponse[index].organization.id
);
但由于 AssertionError: expected '75f1e2e1-83eb-484e-bdaf-1da9b57c635d' to deeply equal '810d0465-2917-4d67-802a-69cda41647ad' 而失败
由于 org id 的每个数组中的顺序不同。我如何比较顺序是否不同以使此断言通过
【问题讨论】:
-
您的对象格式错误
-
@T.J.Crowder 有多余(或缺失)的大括号
-
如果排序无关紧要,您是否尝试过使用“.to.deep.include”而不是“to.eql”?
-
@AlexSp3 - 确实有。 :-) 我怎么看不到呢?
标签: javascript mocha.js chai