Nous avons récemment migré vers angulaire 1.4, et nous avons remarqué que certains tests échouent par intermittence en raison de l'état qui reste entre les tests dans les cookies. Il semble que la moquerie des cookies ait été supprimée des angular-mocks dans les dernières versions. J'ai quelques plunks pour illustrer le point.
Ici, dans angular 1.3, le cookie est défini dans $cookieStore dans un test, et il n'est pas défini dans $cookieStore dans les tests suivants :
http://plnkr.co/edit/WbRKACxBvJkHUmJwntN4?p=preview
Dans angular 1.4, cependant, le cookie est toujours défini sur les tests suivants, ce qui le fait échouer :
http://plnkr.co/edit/c6jpOmmSuufSYvQysdTQ?p=preview
Cette fonctionnalité a-t-elle été intentionnellement supprimée, et si oui, pouvez-vous me dire quelle est la solution de contournement envisagée ?
@shahata savez-vous par hasard pourquoi il y a une différence?
@Narretz Dans les versions précédentes d'Angular, $browser.cookies()
était complètement simulé par ngMock
et l'écriture d'un cookie via $cookies
écrivait sur une carte en mémoire et non sur le navigateur. Nous en avons discuté dans le passé et avons envisagé d'ajouter un kit de test qui se connecte au nouveau mécanisme de cookies et donne des outils qui vérifient que les cookies sont écrits avec des paramètres corrects (il ne s'agit plus seulement de la valeur du cookie), mais je ne pense pas c'est très critique.
@butchpeters Je pense que la meilleure façon de procéder est que vous vous moquiez de $cookies
dans votre test :
module({$cookies: {
store:{},
put: function (key, value) { this.store[key] = value; },
get: function (key) { return this.store[key]; }
}});
Voici le plunker fixe : http://plnkr.co/edit/LTQHDtDM5FOiTiXl2waT?p=preview
L'équipe Angular pense-t-elle que personne n'a besoin de tester la configuration et l'obtention de cookies avec ngCookies ? Je suis choqué de découvrir qu'un an après la sortie de la 1.4, cela n'a toujours pas été réglé.
Commentaire le plus utile
L'équipe Angular pense-t-elle que personne n'a besoin de tester la configuration et l'obtention de cookies avec ngCookies ? Je suis choqué de découvrir qu'un an après la sortie de la 1.4, cela n'a toujours pas été réglé.