Premiers pas avec Jest

photo de Janko Ferlič via unsplash.com

J'ai récemment écrit un article de blog sur la façon dont j'ai appris à tester mon backend avec RSpec. Eh bien, je voulais continuer à apprendre et à transférer mes nouvelles compétences de test en amont.

Il y a beaucoup de testeurs pour le frontend, mais celui qui m'a le plus marqué est Jest. J'ai choisi de commencer à apprendre Jest car il a été développé par Facebook et fonctionne directement avec React. De plus, d'après ce que j'ai lu, c'est l'un des exécuteurs de test les plus faciles à configurer et à mettre en œuvre rapidement.

Plongeons-nous et voyons comment vous pouvez rapidement mettre en place Jest pour jouer avec certaines de ses fonctionnalités intéressantes. Pour commencer, créez un nouveau fichier et enregistrez-le sur la ligne de commande. Cours:

npm install jest --save-dev

yarn add --dev jest

// package.json
"scripts": {
"test": "jest"
}

C'est assez simple. Nous créons un objet avec trois méthodes, subTotal, taxet totaloù totaldépend des deux premières méthodes. Créez maintenant un nouveau fichier appelé dans checkout.test.jslequel nous écrirons nos tests. La convention de nommage ici doit avoir le .test.jsà la fin afin que Jest sache quels fichiers exécuter pendant les tests.

En haut de notre nouveau fichier de test, nous demandons notre fichier d'extraction comme ceci :

const checkout = require('./checkout')

Jest utilise le testmot - clé pour définir un test. Le premier argument est une chaîne qui décrit ce qu'est le test et le deuxième argument est une fonction de rappel qui exécute le test.

Nous utilisons le expectmot - clé pour créer une assertion et le .toBe()matcher pour dire à Jest à quoi nous nous attendons à ce que cette assertion soit égale. Donc, à la ligne quatre, nous affirmons que notre subTotalméthode dans l' checkoutobjet, lorsqu'elle est passée à un tableau avec deux valeurs égales à 5, retournera ou sera égale à 10.

Exécutez npm testvotre CLI et voyez ce qui se passe. Vous devriez voir quelque chose de similaire à la capture d'écran ci-dessous.

Pourquoi ne vous entraînez-vous pas à écrire un test pour la taxe et les fonctions totales avant de poursuivre votre lecture. Qu'est-ce que tu as inventé ?

Voici ce que j'ai trouvé.

Maintenant, je peux dire que mon projet est couvert à 100 %, mais si nous voulions améliorer ces tests et les rendre un peu plus infaillibles ? Heureusement, Jest a un tas de matchers parmi lesquels choisir et nous pouvons écrire plus d'une assertion par test.

Une méthode que j'ai trouvée utile est la .notméthode qui peut être utilisée avec l'un des matchers pour tester le contraire, comme ça.

Une autre chose que j'ai trouvée, c'est qu'avoir plus d'un scénario de test peut être utile. Par exemple, en jouant avec le .toEqual()matcher, j'ai décidé d'utiliser une valeur différente pour ma taxméthode. Le test a échoué en raison d'une erreur d'arrondi. Grâce à des tests étendus, j'ai pu améliorer ma méthode et la rendre plus résistante.

C'est tout pour commencer avec Jest, mais revenez dans quelques semaines pour mon prochain article où je couvrirai les fonctions fictives dans Jest. En attendant, laissez un commentaire ci-dessous et dites-moi quel est votre matcher préféré que vous avez trouvé et comment vous prévoyez de l'utiliser !

Suggested posts

Mes ressources de codage les plus utilisées

Mes ressources de codage les plus utilisées

Cette semaine, j'ai reçu un e-mail d'un membre de la liste de diffusion quotidienne. Ils voulaient savoir : Quelles ressources consultez-vous quotidiennement, hebdomadairement et mensuellement ? Grande question ! Je suis heureux d'essayer de partager quelques idées sur mon flux de travail et les principales ressources que j'utilise.

Série de bibliothèques Lit — 1 : Une plongée en profondeur dans la bibliothèque lit-html

Série de bibliothèques Lit — 1 : Une plongée en profondeur dans la bibliothèque lit-html

Le but de cette série de blogs est d'approfondir la bibliothèque Lit et d'acquérir une compréhension complète de ses caractéristiques uniques et de la manière dont elle se distingue des autres bibliothèques et frameworks du marché. La série est divisée en trois parties, couvrant des sujets tels que 1.

Related posts

Le défi de lecture Goodreads est toxique

Le défi de lecture Goodreads est toxique

La démangeaison dans ma main s'est propagée alors que je négociais avec le libraire local pour un autre livre. Ce livre, comme les autres que j'ai achetés récemment, trouverait son trône sur ma pile «À lire» (TBR); et pourtant, je l'ai acheté.

Learning at Work Week compte plus que vous ne le pensez

Learning at Work Week compte plus que vous ne le pensez

Nous avons souvent du mal à mettre en œuvre ce que nous savons être bon pour nous. Qu'il s'agisse de dire à un proche que nous l'aimons ou de se rappeler de parler comme un pirate, il y aura toujours ceux qui prétendent qu'un jour, une semaine ou un mois d'événements ne sont pas nécessaires parce qu'ils font déjà ces choses.

Deux ans en design - Le bon, le mauvais et le laid…

Deux ans en design - Le bon, le mauvais et le laid…

"Hey Siri, joue Me Dive d'Olivia Dean." C'était en mai 2021 lorsque j'ai commencé mon stage à la Future Academy Africa à Akure, au Nigeria.

Plus de mots de passe - comment les clés d'accès remplaceront votre mot de passe

Plus de mots de passe - comment les clés d'accès remplaceront votre mot de passe

Pour éviter toute ambiguïté, les termes suivants seront utilisés ; Authentificateur ; Le téléphone mobile utilisé pour effectuer la connexion au site Web ; Le site Web ou l'application que l'utilisateur utilise pour effectuer la demande de connexion au service ; Le fournisseur fournissant le service donné, par exemple