Appearance
Comment écrire un test avec Jasmine ?
Pour écrire un test avec Jasmine, vous devez d'abord inclure la bibliothèque Jasmine dans votre projet. Ensuite, vous devez créer une fonction de test en utilisant l'une des fonctions de test de Jasmine, telles que describe
et it
.
Voici un exemple simple de comment écrire un test avec Jasmine :
ts
describe('Ma fonction de test', function() {
it('devrait faire quelque chose de spécifique', function() {
// Code de test ici
expect(maFonction()).toEqual('attendu');
});
});
Dans cet exemple, la fonction describe
est utilisée pour décrire la fonction de test et la fonction it
est utilisée pour spécifier ce que la fonction de test devrait faire. La fonction expect
est utilisée pour vérifier si le résultat de la fonction testée correspond à ce qui est attendu.
Il est important de noter que Jasmine utilise un modèle d'assertion basé sur les espions pour vérifier si les fonctions ont été appelées comme attendu et avec les bons arguments. Vous pouvez en savoir plus sur cette approche dans la documentation de Jasmine.
Les esptions (spy) sur Jasmine
Les espions de Jasmine vous permettent de surveiller les appels à des fonctions données et de vérifier si elles ont été appelées comme attendu et avec les bons arguments. Vous pouvez utiliser les espions pour tester si une fonction a été appelée avec les arguments attendus, ou pour remplacer temporairement une fonction par un espion afin de contrôler son comportement pendant les tests.
Voici comment utiliser les espions sur Jasmine :
ts
describe('Ma fonction de test', function() {
it('devrait faire quelque chose de spécifique', function() {
// Créer un espion pour la fonction "maFonction"
spyOn(window, 'maFonction');
// Appeler la fonction testée
maFonctionTestee();
// Vérifier si l'espion a été appelé
expect(maFonction).toHaveBeenCalled();
// Vérifier si l'espion a été appelé avec les bons arguments
expect(maFonction).toHaveBeenCalledWith('argument1', 'argument2');
});
});
Dans cet exemple, nous créons un espion pour la fonction maFonction
en utilisant la fonction spyOn
de Jasmine. Nous appelons ensuite la fonction testée, maFonctionTestee
, qui devrait appeler la fonction maFonction avec les arguments 'argument1'
et 'argument2'
. Enfin, nous utilisons les fonctions toHaveBeenCalled
et toHaveBeenCalledWith
pour vérifier si l'espion a bien été appelé et s'il a été appelé avec les bons arguments.
Vous pouvez en savoir plus sur les espions de Jasmine et sur les différentes façons dont vous pouvez les utiliser dans la documentation de Jasmine.