gpt4 book ai didi

javascript - 使用 Chai 断言数组包含数组

转载 作者:行者123 更新时间:2023-11-30 12:16:22 25 4
gpt4 key购买 nike

我正在尝试评估从二维数组表 (table.getData()) 返回的数据是否包含另一个数组。

在控制台中,预期数据出现在从 table.getData() 调用返回的二维数组中,但断言失败。

this.Then(/^I see my account balances as follows:$/, function (tableData, done) {
var balanceAggregationPage = new BalanceAggregationPage(this.app.pagesContainer),
table = balanceAggregationPage.getAccountsTable();

var rows = tableData.getRows();
rows.shift();

var actualBalances = [];
rows.syncForEach(function (item) {
var row = item.raw();
row[7] = moment(parseInt(row[7], 10)).format('DD MMM YYYY hh:mm');

actualBalances.push(row);
});
exp(table.getData()).to.eventually.include(actualBalances).notify(done);
});

有人能帮忙吗?谢谢

最佳答案

您可以将 includemembers() 结合使用.

Asserts that the target is a superset of set, or that the target and set have the same strictly-equal (===) members. Alternately, if the deep flag is set, set members are compared for deep equality.

你的断言变成:

exp(table.getData()).to.eventually.deep.include.members([actualBalances]);

使用 deep 标志确保 chai 将比较两个数组的深层内容。

此外,这仅在数组内的顺序相同时才有效。您可能想要对它们进行排序。

I wrote a small example here那就是你想要的。它使用“应该”接口(interface)而不是“期望”,但这并不重要。

关于javascript - 使用 Chai 断言数组包含数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32335320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com