1

私は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はそれを好みません。

私は何かが欠けていると思います。

4

1 に答える 1

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;

左が古いもの、右が新しいものだと思います。

于 2010-06-02T03:46:50.177 に答える