Je suis confronté à un problème lors de l'écriture des tests unitaires pour l'un des contrôleurs en JS angulaire. Im en utilisant Karma jasmin 2.8.0.Comment écrire un test unitaire en utilisant jasmin pour couvrir DOM dans le contrôleur angulaire
Code contrôleur: -
var checkedlength = angular.element(e.target).parents('checkbox').find('input[type="checkbox"]:checked').length;});
if(checkedlength === 0){/* code here */}
else {/* code here */}
Où e
est l'événement. Je voulais écrire un test unitaire utilisant du jasmin pour que les deux parties puissent être couvertes.
Toute aide serait grandement appréciée.
Je ne pense pas que la question soit suffisamment claire. Tout d'abord qu'est-ce que tu veux tester? Quels cas devraient être couverts. Deuxièmement, l'exemple de code est très court et ne contient pas de code spécifique angulaire, sauf pour angulaire.element qui est essentiellement une simple recherche dom. Et le troisième angularjs décourage la manipulation dom dans les contrôleurs. Vous devriez utiliser une directive pour la manipulation dom. Mais je ne suis pas sûr de ce que vous essayez de faire. Comme je l'ai dit pas assez d'informations/code –
Merci d'avoir répondu. – VKJava
Nous avons écrit un code qui ferait l'opération basée sur le nombre de cases à cocher. Basé sur la longueur de la logique est écrite. Pour cela, la manipulation DOM est effectuée dans le fichier du contrôleur. Le code a été écrit de telle sorte que la manipulation du DOM est effectuée dans le contrôleur lui-même en utilisant le paramètre angular. Nous comprenons que ce n'est pas conforme à la norme, mais cela a été manqué d'une façon ou d'une autre et le client impose la couverture de 90% des tests unitaires pour que le déploiement ait lieu. Donc, nous essayons d'écrire des cas de tests unitaires et nous sommes incapables de couvrir ces lignes et nous sommes frappés ici. – VKJava