J'ai créé une fonction window.location.reload
dans mon javascript.
Je dois me moquer de la fonction de rechargement pendant les tests dans Jasmine, car elle continue à boucler.
Le test se passe bien lorsque je lance grunt jenkins
. Mais pas tout en testant dans le navigateur (mozilla/chrome).
Voici mon extrait de code.
Javascript:
window.location.reload();
Test au jasmin:
spyOn(window.location, 'reload').and.callFake(function(){});
Quelqu'un peut-il m'aider s'il vous plaît à ce sujet?
Merci de partager vos points de vue.
J'ai fait un travail autour de comme suggéré et c'était réussi.
Puisque window est un objet de navigateur et qu’on ne peut l’espionner, j’ai juste enveloppé la fonction en JavaScript et l’a référée dans mes spécifications de test.
Code Javascript:
var function = windowReload(){
window.location.reload();
}
appelez la fonction windowReload()
si nécessaire.
Test au jasmin:
spyOn(obj, 'windowReload').andCallFake(function(){});
Vous devriez toujours utiliser $window
au lieu de window
.
Essaye ça:
$window = jasmine.createSpy('$window');
ou créez simplement le vôtre:
$window = {location:{reload:function(){}}};
Je viens de rencontrer le même problème. window.location = '' cause la boucle inf lors de l'exécution dans le navigateur. Une solution simple est définie window.location = '#' pour arrêter le rechargement.