我正在编写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