我正在使用 qunit 和 jquery。两者的最新版本。
在我的代码中,当我提交表单时,我将事件设置为 e。我叫
e.serializeArray()
这是我的测试。
equals(args.data, [ { "name": "user_name", "value": "john" } ], 'input data');
这是来自 qunit 的错误信息。
expected: [ { "name": "user_name", "value": "david" } ] result: [ { "name": "user_name", "value": "david" } ]
正如您肉眼所见,预期值和结果值相同,但 qunit 不喜欢它。
我想我错过了什么。
最佳答案
你可能想看看 deepEqual
module('QUnit');
test('equal and deepEqual', function () {
expect(4);
var a1 = [{ "name": "user_name", "value": "david" }];
var a2 = [{ "name": "user_name", "value": "david" }];
var b1 = [{ "name": "user_name", "value": "henry" }];
equal(a1, a2); //should fail
equal(a1, b1); //should fail
deepEqual(a1, a2); //should pass
deepEqual(a1, b1); //should fail
});
进一步挖掘产生(来自 qunit.js 代码):
// Backwards compatibility, deprecated
QUnit.equals = QUnit.equal;
QUnit.same = QUnit.deepEqual;
我假设旧的在左边,新的在右边。
关于jquery - 如何使用 qunit 比较 serializeArray 的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2866072/