Usage
Jasmine se veut facile à lire. Un simple test « Hello World » ressemble au code ci-dessous, où `describe()` décrit une suite de tests et `it()` est la spécification d'un test individuel. Le nom « it() » s'inscrit dans le cadre du développement piloté par le comportement (BDD) et constitue le premier mot du nom du test, qui doit être une phrase complète. Son utilisation suit une syntaxe similaire à celle de RSpec .
Le code ci-dessous teste cette fonction
Parmi les autres comparateurs intégrés, on trouve : `toBe`, `toBeTruthy`, `toBeFalsy`, `toContain`, `toBeDefined`, `toBeUndefined`, `toBeNull`, `toBeNaN`, `toBeGreaterThan`, `toBeLessThan` et `toBeCloseTo`. Le comparateur d'identité `toBe` vérifie si deux éléments sont identiques. Les comparateurs de condition `toBeTruthy` et `toBeFalsy` évaluent si une condition est vraie ou fausse, tandis que `toBeDefined` et `toBeUndefined` vérifient si une condition est définie ou non. Comme son nom l'indique, `toBeNull` vérifie si une valeur est nulle et `toBeNaN` vérifie si une valeur n'est pas un nombre ( NaN ). Le comparateur de précision `toBeCloseTo` accepte deux paramètres et vérifie si un nombre est proche du premier paramètre, compte tenu d'une certaine précision décimale indiquée par le second paramètre. Le comparateur `toContain` permet de vérifier qu'un élément, un objet ou une sous-chaîne est contenu dans un tableau, une liste ou une chaîne.
La méthode intégrée spéciale `toThrow` est utilisée pour vérifier qu'une exception a été levée. Le code ci-dessous vérifie qu'une exception de type « Some exception » a été levée.
| Jasmin | Moka |
|---|---|
| Jasmine est livrée avec des sosies de test grâce à des espions. | Mocha n'est pas fourni avec une bibliothèque de doubles de test et utilise généralement une bibliothèque externe comme Sinon. |
| Jasmine dispose d'un utilitaire en ligne de commande pour exécuter des tests. | Mocha dispose d'un utilitaire en ligne de commande pour exécuter les tests. |
| Jasmine intègre des affirmations. | Mocha ne possède pas de bibliothèque d'assertions et utilise Chai pour les assertions. |
Avantages
- L'objectif de Jasmine est d'être indépendant du navigateur, du framework, de la plateforme et du langage.
- Outre le développement piloté par le comportement, Jasmine prend également en charge le développement piloté par les tests .