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
}
}
};
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.
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' ?)
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.
18 juil. 2012 à 13:34
J'ai aussi essayé de faire un for(var i=0; i<=portionByAngle[i].length; i++), mais aucune différence.
18 juil. 2012 à 20:29
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' ?)
19 juil. 2012 à 07:57
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.