Skip to content

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');
  });
});
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');
  });
});
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.