Mocha pour JavaScript (Node.js) : guide complet avec exemples
1. Qu'est-ce que Mocha et pourquoi l'utiliser ?
Mocha est un framework de test puissant, flexible et largement utilisé pour JavaScript, fonctionnant à la fois dans l'environnement Node.js et dans le navigateur. Créé en 2011 par le développeur TJ Holowaychuk, il est depuis devenu l'un des standards de facto pour tester les applications JavaScript. Mocha offre aux développeurs une API propre, modulaire et expressive pour écrire aussi bien des tests unitaires simples que des scénarios de test complexes, intégrés et asynchrones.
L'objectif principal de Mocha est de rendre le processus de test aussi simple et intuitif que possible. Contrairement à d'autres frameworks, Mocha n'impose pas une structure de test rigide et n'inclut pas de bibliothèque d'assertions intégrée. Il fournit plutôt une structure (framework) pour organiser les tests (describe/it/hooks) et les exécuter avec différents rapports (reporters), laissant le choix de la bibliothèque d'assertions au développeur. Cela rend Mocha extrêmement flexible : vous pouvez l'utiliser avec le module intégré assert, la bibliothèque populaire Chai (qui propose les styles BDD/TDD), Should.js ou toute autre.
Pourquoi utiliser Mocha ? Dans le développement logiciel moderne, les tests ne sont pas un luxe, mais une nécessité. Mocha permet d'automatiser la vérification de l'exactitude du code, de détecter les régressions après des modifications, de documenter le comportement des fonctions et des modules, et d'améliorer la fiabilité et la stabilité globales de l'application. Grâce à sa prise en charge des tests asynchrones (callbacks, promesses, async/await) et à sa capacité à fonctionner avec diverses bibliothèques d'assertions, Mocha est idéal pour tester les applications serveur Node.js, les API, les bases de données et tout autre composant.
2. Installation
Mocha s'installe via le gestionnaire de paquets npm (Node Package Manager). Il est recommandé de l'installer comme dépendance de développement (devDependency), car les tests ne sont pas nécessaires dans l'environnement de production.
Commande d'installation exacte :
npm install --save-dev mocha
Après l'installation, vous pouvez exécuter les tests en ajoutant un script dans le fichier package.json :
{
"scripts": {
"test": "mocha"
}
}
Les tests peuvent désormais être lancés avec la commande :
npm test
Pour une installation globale (déconseillée, mais possible) :
npm install -g mocha
3. Démarrage rapide — exemple minimal fonctionnel
Créez un fichier test.js avec le contenu suivant :
const assert = require('assert');
// Fonction à tester
function add(a, b) {
return a + b;
}
// Suite de tests
describe('Fonction add', function() {
// Test spécifique
it('doit retourner la somme de deux nombres', function() {
// Assertion
assert.strictEqual(add(2, 3), 5);
});
it('doit fonctionner avec des nombres négatifs', function() {
assert.strictEqual(add(-1, -1), -2);
});
});
Exécutez le test :
npx mocha test.js
Vous devriez voir un rapport vert indiquant la réussite des deux tests.
4. Méthodes/fonctions/classes principales
Mocha fournit des fonctions globales qui n'ont pas besoin d'être importées (sauf si elles sont désactivées par l'option --require). Voici 8 méthodes clés avec leurs signatures, descriptions et exemples.
4.1 describe(name, fn)
Signature : describe(name: string, fn: function): void
Fonction : Crée une suite de tests — un groupe de tests liés. Utilisée pour organiser logiquement les tests. Peut être imbriquée.
Aussi dans la bibliothèque
Géolocalisation et cartes en Go (Golang) : bibliothèques et exemples de code
Configuration des applications C# (.NET) : bibliothèques et outils
Codable Swift : guide complet avec exemples
Framework CLI pour PHP (Symfony Console)