Test unitaire javascript

Fermé
Jim - 18 juil. 2012 à 11:04
 Jim - 19 juil. 2012 à 07:57
Bonjour,

Je dois tester une application javascript, et pour cela j'ai fait un script de test à utiliser avec le plugin JsTestDriver.


Le script fonctionne sur tout les debugers, seulement, quand je le lance avec JsTestDriver, ce dernier me dit que la variable portionByAngle[i] est undefined (ligne 15).


Je pense que le problème vient du fais que le plugin attend une certaine façon de faire que je ne connais pas.


Mais si quelque-chose vous saute aux yeux, ou si quelqu'un connait bien les tests unitaire, voici le code :


PrizeWheel = TestCase("PrizeWheel");

PrizeWheel.prototype.testDetectSelPortionId = function() {
    var checkedSelPortionId = new Array();
    var expectedResults = "";
    var csvFile = new XMLHttpRequest();
    
    csvFile.open('GET', 'expectedResults.csv', false);
    csvFile.send();
    expectedResults = csvFile.responseText;
    
    var portionByAngle = expectedResults.split('\r\n');
    
    for(var i=0; i<=359; i++) {
        checkedSelPortionId[i] = portionByAngle[i].split(';');
    }
    
    for(i=0; i<=359; i++) {
        for(var j=0; j<=4; j++) {
            var portionNum = checkedSelPortionId[1][j];
            var selPortionId = detectSelPortionId(checkedSelPortionId[i][j], portionNum);
            
            assertEquals(checkedSelPortionId[i][j], selPortionId); // Assertion to test values equality
            jstestdriver.console.log(checkedSelPortionId, " == ", selPortionId); // Log msg to console if assert don't fail
        }
    }
};



Merci d'avance :)
A voir également:

1 réponse

for(var i=0; i<=359; i++) {

Le fichier contient-il toujours 360 lignes ? Le script a-t-il pu correctement récupérer le fichier CSV ?
0
Oui, je vais vérifier en debug et les valeurs du CSV sont bien stockées dans le tableau.
J'ai aussi essayé de faire un for(var i=0; i<=portionByAngle[i].length; i++), mais aucune différence.
0
Ca ne serait pas plutôt ça :
for(var i=0; i<=portionByAngle.length; i++) {

Ajouter un peu de debug ne serait pas mal, ne serait-ce que la valeur de :
expectedResults.length (A-t-on récupéré un contenu de fichier?)
portionByAngle.length (Le fichier contient-il plusieurs éléments séparés par '\r\n' ?)
0
Oui, je voulais dire for(var i=0; i<=portionByAngle.length; i++) {
J'ai été verifier en debug ; le fichier est bien récupéré et les valeur stockées correctement dans le tableau à deux dimensions final.
0