2010-05-19 13 views
1

J'utilise qunit et jquery. Dernière version des deux.Comment comparer la sortie de serializeArray en utilisant qunit

Dans mon code lorsque je soumets le formulaire, j'ai l'événement comme e. J'appelle

e.serializeArray() 

Voici mon test.

equals(args.data, [ { "name": "user_name", "value": "john" } ], 'input data'); 

Et ceci est le message d'erreur de qunit. Comme vous pouvez le voir à l'œil nu, la valeur attendue et le résultat sont les mêmes, mais qunit ne l'aime pas. Je suppose qu'il me manque quelque chose.

Répondre

1

Vous pouvez regarder 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 
}); 

En outre creuser donné (à partir du code qunit.js):

// Backwards compatibility, deprecated 
QUnit.equals = QUnit.equal; 
QUnit.same = QUnit.deepEqual; 

Je suppose vieux à gauche, à droite nouvelle.

+0

merci. bon travail. –