jquery - 如何使用 qunit 比较 serializeArray 的输出

标签 jquery testing qunit

我正在使用 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/

相关文章:

java - 覆盖 Java 单元测试中的异常语句

javascript - 在 QUnit 测试中设置 PhantomJS viewportSize

javascript - jQuery slidetoggle 多个 div 一次一个与同一个类

javascript - 使用 jQuery/CSS 收缩/增长动画

javascript - 内联 javascript 正在中断 html 的加载

testing - EmberJS 测试重置未完全重置或异步问题

javascript - 没有通过 Var 的 Qunit 测试

javascript - 切换启动和停止 jQuery

testing - grails:如何使用多个操作和多个重定向来测试 Controller ?

testing - 检测不会失败的测试的自动化方法, checkin 以获得最小代码覆盖率?