7.16. Travailler avec des routes dans ExpressJS : tester des routes avec Jest ou Mocha

Página 62

Chapitre 7.16 : Travailler avec des routes dans ExpressJS : tester des routes avec Jest ou Mocha

L'une des fonctionnalités clés d'ExpressJS est sa capacité à gérer les itinéraires de manière efficace et efficiente. Les routes sont essentielles pour toute application Web car elles déterminent comment une application répond à une requête client sur un point de terminaison donné, qui est un URI (ou chemin) et une méthode de requête HTTP spécifique (GET, POST, etc.).

Pour créer une route dans ExpressJS, nous utilisons la méthode app.METHOD(), où METHOD est la méthode de requête HTTP que vous souhaitez utiliser. Par exemple, si nous voulions créer une route pour répondre aux requêtes GET au chemin racine (/), nous pourrions le faire comme ceci :

app.get('/', fonction (req, res) { res.send('Bonjour tout le monde !') })

Bien que la création d'itinéraires soit relativement simple, il est important de s'assurer qu'ils fonctionnent correctement. Et c'est là qu'interviennent les tests. Il existe plusieurs outils de test disponibles pour Node.js, mais dans ce cours, nous nous concentrerons sur deux des plus populaires : Jest et Mocha.

Jest est un framework de test complet qui nécessite peu ou pas d'effort de configuration, ce qui en fait un excellent choix pour les débutants. Il possède également une syntaxe de test très claire et facile à comprendre, ce qui facilite l'écriture de tests. Voyons comment nous pouvons utiliser Jest pour tester nos itinéraires.

const request = require('supertest'); const app = require('../app'); décrire('Tester le chemin racine', () => { test('Il devrait répondre à la méthode GET', () => { return request(app).get("/").then(response => { attendre(response.statusCode).toBe(200); }) }); });

Dans cet exemple, nous importons d'abord le module supertest, qui nous permet de faire des requêtes HTTP à notre application. Ensuite, nous importons notre application Express. Nous utilisons ensuite la fonction décrire de Jest pour envelopper nos tests et la fonction test pour définir un test. Le test lui-même est assez simple : nous faisons une requête GET à la route racine et vérifions que le code d'état de la réponse est 200, qui est le code d'état HTTP pour "OK".

Voyons maintenant comment nous pouvons faire quelque chose de similaire avec Mocha. Contrairement à Jest, Mocha n'est qu'un framework de test et nécessite des modules supplémentaires pour effectuer des assertions ou des requêtes HTTP. Dans cet exemple, nous allons utiliser Chai comme bibliothèque d'assertions et supertest pour les requêtes HTTP.

const request = require('supertest'); const app = require('../app'); const attendre = require('chai').expect; décrire('GET /', fonction () { it('devrait répondre avec 200', fonction (terminé) { demande (application) .obtenir('/') .end(fonction(erreur, res) { attendre(res.statusCode).to.equal(200); fait(); }); }); });

Comme vous pouvez le constater, la syntaxe de Mocha est un peu différente de celle de Jest, mais l'idée générale est la même. Nous faisons une requête GET à la route racine et vérifions si le code d'état de la réponse est 200.

En bref, ExpressJS simplifie la création de routes, mais il est important de s'assurer que ces routes fonctionnent correctement. Pour cela, nous pouvons utiliser des outils de tests comme Jest ou Mocha, qui nous permettent de rédiger des tests clairs et concis pour nos itinéraires.

Tester vos itinéraires est une bonne pratique, car cela vous permet de découvrir et de résoudre les problèmes avant qu'ils n'affectent vos utilisateurs. De plus, les tests peuvent également servir de documentation, montrant à d'autres développeurs (ou à vous-même à l'avenir) comment votre application doit se comporter.

Alors prenez le temps d'apprendre et d'utiliser ces outils de test. Votre code sera plus robuste, votre application sera plus fiable et vous pourrez mieux dormir la nuit en sachant que votre application est bien testée.

Répondez maintenant à l’exercice sur le contenu :

Quelle est la principale fonctionnalité d'ExpressJS mentionnée dans le texte et quels sont les outils de test suggérés pour garantir le bon fonctionnement des routes ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Page suivante de lebook gratuit :

638. Introduction aux API

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte