Live le jeudi 30 octobre à 19h - Interview avec Gérôme Grignon

Développeur front-end et figure de la communauté Angular

Découvrez le parcours de Gérôme Grignon, développeur front-end, contributeur open source et membre actif de la communauté Angular en France.

Dans cette interview, il partage son cheminement personnel et professionnel : de sa découverte du front-end à son engagement dans la pédagogie et la transmission.

Skip to content

Vous souhaitez recevoir de l'aide sur ce sujet ? rejoignez la communauté Angular.fr sur Discord.

Qu'est-ce qu'un "spy" (espion) ?

Un "spy" dans Jasmine est une fonction qui "remplace" une fonction donnée et enregistre des informations sur ses appels, comme les arguments avec lesquels elle a été appelée, combien de fois elle a été appelée, etc. Cela est utile lorsque vous voulez vérifier comment une fonction est utilisée pendant vos tests sans réellement exécuter la fonction d'origine.

jasmine.createSpy()

jasmine.createSpy() est une méthode pour créer un nouveau spy.

Lorsque vous faites :

javascript
const navigateByUrlSpy = jasmine.createSpy('navigateByUrl');

Vous créez un nouveau spy pour une fonction appelée navigateByUrl. Ce spy peut ensuite être utilisé pour "remplacer" la fonction originale navigateByUrl et enregistrer des informations sur comment elle est appelée.

Par exemple, après avoir utilisé ce spy dans votre code de test, vous pourriez faire quelque chose comme :

javascript
expect(navigateByUrlSpy).toHaveBeenCalled();

pour vérifier si la fonction a été appelée. Ou encore :

javascript
expect(navigateByUrlSpy).toHaveBeenCalledWith('/some-route');

pour vérifier si elle a été appelée avec un argument spécifique.