在 QUnit 中比较两个数组的最简单方法是什么

What is the simplest way to compare two arrays in QUnit

我正在编写 JavaScript 单元测试(使用 QUnit 库)。我需要验证我的数组是否包含预期的(且仅包含)元素。

var array = getArrayFunction(a, b);
equal(["one", "two", "three"], array, "Test is failing even if 'array' contains needed elements");

最简单的方法是什么?

您应该使用 deepEqual() 代替 equal()。这将比较数组元素和对象属性,而不仅仅是使用 == 比较运算符,对于不共享相同构造函数的对象,它的计算结果为 false

文档在这里:https://api.qunitjs.com/deepEqual/

有关 JavaScript 相等比较的更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness