我正在使用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不喜欢它。
我想我错过了什么。
答案 0 :(得分:1)
您可能需要查看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;
我假设左边是旧的,右边是新的。