Comme nous l'avons vu dans le chapitre précédent, il est possible de faire des tests sur le navigateur en utilisant Mocha. Le problème de ces tests, c'est que l'on est obligé de les lancer manuellement, et ce sur tous les navigateurs où on souhaite tester notre code. Heureusement pour nous, des outils existent pour automatiser cela. Je vous propose de découvrir de l'un d'entre eux : Karma.
Karma est une librairie qui va vous permettre de lancer vos tests sur plusieurs navigateurs à la fois de manière automatique. Il gère plusieurs Framework de tests (on pourra aussi l'utiliser avec Jasmine) et plusieurs navigateurs classiques, mais aussi des navigateurs headless comme PhantomJS.
Installation
pour utiliser karma, il faut donc commencer par l'installer :
npm install karma --save-dev
on va aussi installer l'outil qui va nous permettre de piloter karma depuis les lignes de commande.
npm install karma-cli -g
et ensuite on va pouvoir initialiser notre projet en faisant
karma init
Cette commande va nous permettre de configurer karma de manière interactive, on va pouvoir configurer le Framework que l'on souhaite utiliser, les navigateurs à tester ainsi que les fichiers à suivre. Enfin, lorsque l'on souhaite initialiser les tests il faudra taper la commande
karma start
Cette commande va permettre de lancer les différents navigateurs configurés, et d'observer les fichiers JavaScript pour lancer les tests automatiquement lors de modifications.
Voilà pour le fonctionnement de base de karma, mais il est possible d'installer des plug-ins supplémentaires pour ajouter des fonctionnalités. On pourra par exemple rajouter des préprocesseurs pour compiler automatiquement des fichiers coffee script, mais aussi rajouter des librairies qui seront automatiquement changées avant nos tests par exemple Chai, Sinon, jQuery ou autre.