oujood.com

Tests avec ExpressJS - Guide pour Débutants

Apprenez à tester une application ExpressJS avec Mocha et Chai dans ce tutoriel ultra-simple pour débutants. Exemple inclus
Dans ce tutoriel, nous allons apprendre à tester une application ExpressJS pour vérifier qu’elle fonctionne bien. Ce guide est conçu pour les débutants : nous irons très doucement, étape par étape, avec des explications ultra-simples et un exemple que vous pourrez essayer. Nous utiliserons mocha pour lancer les tests et chai pour vérifier les résultats.

chercher |

Introduction : Pourquoi Tester Votre Application ?

Tester, c’est comme vérifier que votre voiture démarre avant un voyage. Avec ExpressJS, on s’assure que nos routes (comme "/bonjour") renvoient ce qu’on attend. mocha est l’outil qui fait tourner les tests, et chai est comme un ami qui dit "Oui, c’est bon !" ou "Non, ça ne va pas.".

Étape 1 : Préparer Votre Environnement

Avant de coder, préparons tout ce qu’il faut. Si vous avez suivi les tutoriels précédents, vous avez déjà Node.js et ExpressJS. Voici les étapes :

  • Vérifiez Node.js : Ouvrez un terminal et tapez node -v. Si une version apparaît (ex. : v16.13.0), c’est bon. Sinon, téléchargez Node.js sur nodejs.org.
  • Créez un dossier projet : Faites un dossier nommé "tests-express" sur votre ordinateur. Ouvrez-le dans un éditeur comme Visual Studio Code.
  • Initialisez le projet : Dans le terminal, allez dans ce dossier avec cd chemin/vers/tests-express, puis tapez npm init -y. Cela crée un fichier package.json.
  • Installez les outils : Tapez npm install express mocha chai --save-dev. Voici ce que chaque outil fait :
    • express : Pour notre application.
    • mocha : Lance les tests.
    • chai : Vérifie si tout est correct.

Étape 2 : Créer une Petite Application à Tester

Commençons par une application très simple avec une seule route à tester.

Exemple de Code : Application à Tester

Créez un fichier nommé app.js dans votre dossier "tests-express" et ajoutez ce code :

📋 Copier le code

var express = require('express');
var app = express();

app.get('/bonjour', function(req, res) {
    res.send('Bonjour à tous !');
});

module.exports = app;
    

Explication Rapide

Ce code crée une route "/bonjour" qui renvoie "Bonjour à tous !". module.exports permet d’utiliser cette application dans nos tests.

Étape 3 : Écrire un Test Simple

Créons un test pour vérifier que la route fonctionne.

Exemple de Code : Fichier de Test

Créez un dossier nommé test dans "tests-express". À l’intérieur, ajoutez un fichier app.test.js avec ce code :

📋 Copier le code

var chai = require('chai');
var expect = chai.expect;
var app = require('../app');

describe('Tests de notre application', function() {
    it('devrait dire Bonjour sur /bonjour', function(done) {
        require('http').get('http://localhost:3000/bonjour', function(res) {
            var data = '';
            res.on('data', function(chunk) { data += chunk; });
            res.on('end', function() {
                expect(res.statusCode).to.equal(200);
                expect(data).to.equal('Bonjour à tous !');
                done();
            });
        });
        app.listen(3000); // Démarre le serveur pour ce test
    });
});
    

Explication Détaillée du Code

Voici chaque partie expliquée très simplement :

  • var chai = require('chai'); : On importe Chai pour vérifier les résultats.
  • var expect = chai.expect; : On utilise "expect" pour dire "je m’attends à...".
  • var app = require('../app'); : On importe notre application.
  • describe('Tests de notre application', ...); : On groupe les tests sous ce nom.
  • it('devrait dire Bonjour...', ...); : Un test qui vérifie une chose précise.
  • http.get(...); : Simule une visite à "/bonjour".
  • expect(res.statusCode).to.equal(200); : Vérifie que le statut est "OK".
  • expect(data).to.equal('Bonjour à tous !'); : Vérifie que le message est correct.
  • done(); : Dit à Mocha que le test est fini (important car c’est asynchrone).
  • app.listen(3000); : Lance le serveur juste pour ce test.

Étape 4 : Lancer les Tests

Modifiez package.json pour ajouter une commande de test. Ouvrez-le et remplacez la ligne "scripts" par :

"scripts": {
    "test": "mocha"
},

Ensuite, dans le terminal, tapez npm test. Vous verrez quelque chose comme :

  Tests de notre application
    ✓ devrait dire Bonjour sur /bonjour

  1 passing (XXms)
    

Si vous voyez "✓ passing", le test a réussi ! Sinon, Mocha vous dira ce qui ne va pas.

Conclusion

Félicitations ! Vous savez maintenant tester une application ExpressJS avec Mocha et Chai. Vous pouvez vérifier que vos routes fonctionnent sans deviner. Pour aller plus loin, explorez notre prochain tutoriel sur Déploiement avec ExpressJS ou consultez la documentation Mocha.



Voir aussi nos tutoriel :

Affiche les informations d'une variable">var_dump

 Affiche les informations d'une variable

Balise paramètre param

Définit un paramètre d'un objet

Balise q

Définit une citation courte