Comment tester des sites et des applications réagissants

Sep 16, 2025
Comment
Test React [DIX] [DIX] [DIX] [dix]
(Crédit d'image: futur)
[DIX]

SI VOUS VOULEZ SAVOIR COMMENTER TESTER RÉAGIR, VOUS ESTEES AU BON ENDROIT. Connaiseez-VOUS Vraiment VOCLE CODE CE QU'IL EST CLOSÉ? L'AVEZ-VOUS TESTÉ DANS LE NAVIGIGER? ET SI VOUS NE LE AVEZ PAS FAIT, OU VOUS NE POUVEZ PAS TOUT TOUT TOUT, ET CELA SE CASSE EN PRODUCTION?

[DIX]

UNE BIBLIOTHÈQUE DE TEST EST UN GROUPE D'UTILITAIRES QUE LES DÉVÉLOPPPEURS UTILISENT POUR ÉCRECIRES DES TESTS CONDITIONNELS SUR LES COMPOSANTS DE L'APPLICATION. Certaines des Principales Parties d'ONU Test Sont Les Suivantes:

  • Description: Dégrit Ce que le test est à propos de
  • UTILISATION / RENDRE: UTILISE LE COMPOSANT DANS UNE ENVIRONNEMENT Où IL PeuTRe Testé
  • RADFLEUR: Crée des Fonctions Prérévante, Afin Que vous Vérificateur Vérifier Vos Hypothèses

ARTICLE AU COURS DE CET, JE VAIS EXPLORER QULQUES EXEMPLES DE LA BIBLIOTHÈQUE DE LA BIBLIOTHÈQUE DE TESTS DE RÉACTION AFIN DE VOUS AFIN DE VOUS AVEC AVEC AVEC CETTE MANIÈRE PRÉCIEUSE D'AMÉLIRE LA ROBUSTESSE DE VÉRIFIÉE SORTIE DE CODE, AINSI QUE DE VOUS ASSURATEUR QUE VOCT CODE NE JETTE PAS . Toute Mauvaise Surprise Un Fois Qu'Elle Est Entrée en production.

Vous VOUlez Plus de Ressources utiles? VOICI UNE RUINE DU MEILLEUR Winds de conception Web Autour de Cela Vous Aidera à Travailler Plus Intellemment. Ou SI VOUS AVEZ BESOIN D'UNE NOUVELLE MACHINE, ESSAYEZ CE ROND-POINT DE LA Meilleurs Ordinateurs PORTABLES POUR LA PROGRAMMATION . OU SI VOUS ConstruiseZ ONU COUNVEAU SITE, VOUS POURRIEZ AVOIR BESOIN D'UN ONU GRAND Générateur de site Web .

01. CommenceZ AVEC RÉACT DE LA BIBLIOTHÈQUE DE TEST

JE VAIS UTILISER Créer-réact-APPLU-APPORT CETTE DEMO CAR ELLE EST DÉJÀ PRÉCONFIGURÉE AVEC LA BIBLIOTHÈQUE DE TESTS. SI VOUS UTILISZZ GatsBy OU UNE CONFIGURATION Personnalisée, VOUS DEVEZ UTILISER UNE CONFIGURATION AVANT DE COMMENCER À UTILISER LA BIBLIOTHÈQUE DE TESTS.

Verser Commencer, Créons une application Nouvelle. SI VOUS AVEZ DÉJÀ UNE VERSION RÉCENTE DE NODE.JS, VOUS POUVEZ EXÉUTER LA COMMANDE SUIVANTE SANS RIEN INSTALLATEUR D'AUTRE À L'ÉCHLLE Mondiale:

npx create-react-app netmag-javascript-testing

02. Testeur de Décidez de Quoi

Imaginez que nous avons de l'ONU Composant simple, disons UN BOUTON AVEC UN ATAT. Quelles Sont Sont ONT ONT ONT BESOIN DE TESTER DANS UN COMPOSANT COMPOSANT COMPOSANT CELUI-CI?

L'apparition du compositeur:

NOUS NE VOULONS Rien de CHANGER DE MANIÈRE INATTENDUE APRESE AVOIR ÉCRIT NOTRE COMMUNANT. NOUS ALLONS DONC ÉCREIRE UN TEST D'INSTANTANÉ POUR CAPTURANT LA MANIÈRE DONT Il SE Rend. Ensuite, SI Quelque a choisi le changement, NOUS LE VERRONS RAPPERMENT SANS ONU Test Manuel OU Visuel. C'est Génial pour les composants Composants de Nombreux Composants Plus Petits: VOUS POUVEZ VOIR VOIR QUAND (ET OUS) Son apparence a affectée.

Les Différentes branches qui ritent:

PARCE QUE NOUS PORTRONS AVOIR DEUX SORTIES DIFFÉRENTES OU PLUS, NOUS Devons Tester Qu'il Leur Rend TOUS CORRECTEMENT, PAS SEULTEMENT L'UN D'ENTRE EUX. Nous Devons Donc Simuler Un Événement de CLIC ET AVOIR UN AUTRE Test d'Instantané pour la Manière DONT IL SE REND APRÈS QUE CETTE DIRECTION DU Code A Été EXÉCUTEÉE.

CES Fonctions Sont Appelées Comme Prévu:

NOUS Voulons NOUS Assurer QUE LE CODE QUE NOUS AVONS ÉCRIT POUR L'APPELER UNE AUTRE FONCTION FONCTIONNE NOUS NOUS NOUS CHUBONS. MAIS PUISQUE CETTE FONCTION EST UNE DÉPENDANCE EXTERNE, NOUS NE VOULONS PAS TESTER CELA ICI. NOS TESTS DOIVENT ENCESSULER UNIQUE DES FONCTIONNELITÉS QUE NOUS VOULONS.

03. ÉcriveZ Deux Premier test

Test React

(Image: © Ben Lire) [DIX]

Écrivons Notre test Premier. Créer Un nouveau Nouveau Fichier appelé MyComponent.unit.test.js Dans le dossier dans le compositeur de Dossier. En Ajustant des Tests.Js à la fin, IL Sera Automatitude Cueilli par la Bibliothèque de tests. LE CONTEENU DE CE FICHIER EST CI-Dessous:

Importeur Réagir de «Réagir»
Importeur {Rendu} de Test-Bibliothèque / Réaction '
Importeur MyComponent de './mycomponent'
Décrire ('the & lt; myComponent / & gt;', () = & gt; {
    // les tests vont ici
})) 

La Première a choisi que je veux que l'atterrisseur sur Est la DÉCRIS () Fonction, Qui Prince Deux Arguments: Le Premier Est UNE CHAINNE QUE VOUS POUVEZ UTILISER POUR MIEX DÉCRIRE - COMNONNE UNE CHAINNE DE TEXTE - CE QUE VOYE TEST VA FACEE. Dans Notre Notre Cas, Nous Avons Simplement Dit Que Cela DévRAIT RENDRE. Ceci est Très Utile Lorsque Quelqu'un d'AUTRE REJEUVEZ DU CODE DE VOTRE CODE OU QUE VOUS DEVEZ VOUS RAPPELER CE Que vous VEVEZ AVEZ FAIT À UNE ÉTAPE ULTIRIEURE. Écrire de Bonnes Déclarations Décrives EST UNE FORME DE DOCUMENTATION DE CODE ET UNE AUTRE BONNE Raison pour Écrire des tests.

Le DEUXIÈME Argument EST VOS TESTS. Le DÉCRIS () La Fonction Fonctionnera Touss Tests Tests L'ONU APRESS L'AUTRE.

04. Utilisez la Fonction de Nettoyage

Introduisions UNE FONCTION D'ASSISTANCE Appelée Devant () . NOUS DevONS L'Utiliser CAR CHAQUE FOIS QUE NOUS Faisons Centre de fênes Centré Chose AVEC Le compositeur, NOUS Voulons UNNVOUNLE COPIE SANS LES ACCESSOIRES QUE NOUS L'AVIONS PRÉCÉPASÉEMENT DÉPASSÉES DÉPASSÉES DANS LE COMOSTANT. OU NOUS DevRions Renformulaire Peut-Être Le Composant: Devant () EST-CE Que Cela Pour NOUS Versez NOUS ET NOUS POUVONS LA PROPRETTRE LA FONCTION DE NETTOYAGE.

 Importateur {Rendu, Nettoyage} de '@ Testing-Bibliothèque / Réaction'
...
Décrire ("Le compositeur dévoue", () = & gt; {
  Avant (Nettoyage)
} 

05. Écrivez Un test d'instantané

Test React

(Image: © Ben Lire) [DIX]

Danse Cette Étape, Nous Allons «Monter» Notre Composant (ou Le Rendu).

 Décivez ("Le compositeur dévoue rendu", () = & gt; {
  Avant (Nettoyage)
  Il ("Rend Les Accessoires de base", () = & GT; {
    Rendu (& lt; MyComponent / & GT;)
  })
} 

CE Rendu NOUS DONNE ACCÈS À TOUTES LES PROPRIÉTÉES RENDUES DU COMPOSANT COMPILÉ. Il pourra ê d'autres bon de lauder cela danse console.log () VOUS POUVEZ DONC VOIR PLUS CLAIRE CE QU'IL FAIT.
SI VOUS LE FAITES, VOUS VERREZ QUIL Y A QUELQUES PROPRIÉTÉS UTILES QUE NOUS POUVONS TIRER Parti d'ICI. JE VAIS FACEE UNE AFFIRMATION (TESTABLE DE LA FAILE UNE DÉCLARATION) ET LE TESTER EN EXTRAYANT LE CONNUTEUR. Le Conteneur 'Treat' Les Nœuds Dom (TOUS Les HTML) Associés Au Composant.

 Il («Rend Les Accessoires de base», () = & GT; {
    const {conteneur} = rendu (& lt; myComponent / & gt;)
})) 

Maintenant, NOUS AVONS ACCÈS AU CONNUTEUR, COMMENTAIRE PUIS-JE DIRE QU'ELLE EST RENDUE EN FONCTION DE MON AFFIRMATION? EN AJOUTANT UN TEST D'INSTANTANÉ.

PENSEZ à UN Instantané Commez Étant Comme une photo. Il prend un instantané de notre compositeur à l'ONU Doncé. Salle de suite, Chaque FOIS Que NOUS Modifions Le code, NOUS POUVONS Voir si CELA correspond à Toujours à l'Instantané d'Origine. SI C'EST LE CAS, NOUS POUVONS ÊTRE CONVAINCUS QUE RIEN N'A CHANCHÉ DANS LA COMPOSANTTE. Cépendant, SI CELA NE LE FAIT PAS, NOUS AURIONS AURIONS PUT-ÊTRE DÉCOUVERT UNE QUESTIONNAIRE D'UN AUTRE COMPOSANT, DONT NOUS POURRIONS AVOIR PRÉCÉEMENT:

[DIX]

06. Propriétés du Test

Les Accessoires OU LES PROPRIÉTÉS D'UN COMPOSANT ÉGAUX EMÉMENT ÊTRE TESTÉS AVEC DES INSTANTANÉS. Test des Différents Accessoires QUE VOUS FOURNISSEZ À VOFE COMMENTAIRE VOUS DONNERA UNE PLUS GRANDE COUVERTURE ET UNE PLUS CONCOURS DE LA GRANDE. VOUS NE NE SANGE JAMAIS JAMAIS QUAND UNE EXIGENCE SIMIFIE QUE LES ACCESSOIRES DE VOFRE COMMENTAIRE SODÈME REFACTURÉES ET LA SORTIE FINALE Changenta.

AJOUTEZ L'Objet SUIVANT EN HAUT DE VOFRE FICHIER:

 const LightProperties = {
    BackgroundColour: 'Blanc',
    TextColour: 'DarkBlue'
} 

NOUS DÉFINISSONS LES PROPRIÉTÉS D'UN OBJET, PUIS UTILISONS L'OPÉRATEUR DE RÉPRESSION (Points Trois Suivis du Nom de l'Objet: ... LightProperties) PARCE QUE NOUS NE NE POUVONS Transmettre Qu'un Argument LORSQUE NOUS RENDANTONS DE CETTE FAÇON. Il est égétude Utile de Voir les propriétés VOUS PASSez ISSÉMENT:

Il («Rend Les Accessoires de base», () = & GT; {
        const {conteneur} = rendu (& lt; myComponent / & gt;
      )
     Attendre (Conteneur) .Tomatchsnapshot ()
    })
    il («Rend Les Accessoires de la version LumineUse», () = & GT; {
        const {conteneur} = rendu (
            & lt; myComponent {... LightProperties} / & GT;
        )
        Attendre (Conteneur) .Tomatchsnapshot ()
    })

07. Changement de test dans l'interface Utilisateur

Imaginez que Notre Notre-Notre Composant A ONU BOUTON ET VOUS VOULEZ VOUS ASSURATEUR QUE QUELQUE CHOSE CHOSE SE PASSE LORSQUE LE BOUTON EST CLIQLÉ. VOUS POUVEZ PENSER QUE VOULEZ TESTER L'État de l'application; Par exemple, VOUS SEREZ PUT-ÊTRE TENTÉ DE TESTER QUE L'ÉTAT A ITAT A MIS À JOUR. CEPEDANT, CE N'est Pas l'Objet de CES Tests.

Cela NOUS Introduction à un concept de l'UTILISATION D'UTILISATION D'UNE BIBLIOTHÈQUE DE TEST: NOUS NE SOMMES PAS ICI POUR TESTER L'ATAT OU LA MANIÈRE DONT NOTRE COMPOSANTTE FONCTIONNE. NOUS SOMMES ICI Versez le testeur Commentaire Les Gens Vont Utiliseur Le Composant et Qu'il Répond à Lurs Attention.

Donc, si l'État aé mal à jour est immatiriel; CE QUE NOUS VOULONS TESTER, C'EST CE Que le Résultat de CE Bouton Appuyez sur.

Imaginons QUE NOUS TESTONS LE RÉSOLTAT D'UNE FONCTION QUI MODIFIE L'INTERFACE UTILISATEUR DU MODE SOMBRE EN MODE LUMINEUX. VOICI LE COMPOSANT:

 const modétoggle = () = & gt; {
    Const [mode, SetMode] = USESTE ['Light']
   const toggletheme = () = & gt; {
     Si (thème === 'Light') {
       Settheme ('Dark')
     } Autre {
       Settheme ('Light')
     }
   }
    revenir (
        & lt; ToggleButton Données-Testid = "Mode-Toggle" LightMode = {Mode} Onclick = {TgGlemode} & GT;
          BASCULER DE MODE
        & lt; / togglebutton & gt;
    )
}

Tout d'Abord, Nous Devtions Ajoter Un Identifiant de Test sur Le Bouton Aful Quous Puissions Le Touprement dans la phase de Rendu:

 Retour (
    & lt; bouton à bascule
      Data-Testid = "Mode-Basculer"
      LightMode = {mode}
      Onglick = {togglemode}
     & gt;
      BASCULER DE MODE
    & lt; / togglebutton & gt;

AVEZ-VOUS REMARQUÉ QUE NOUS AVONS AJOUTE LE NOUVELL Data-Testid Au Bouton? Commentaire VOICI VOUS POURRiez Tester Cela. Première, importateur UNE NOUVELLE FONCTION, FIREEEVENT DE LA BIBLIOTHÈQUE DE TESTS:

 Importateur {Nettoyage,
          FireEvent,
          rendu
} de '@ test-bibliothèque / réagit'

NOUS POUVONS UTILISER CETTE FONCTION POUR TESTER DES CHANGEMENTS DANS L'INTERFACE UTILISATEUR ET QUE CES Changements SON COHÉRENTS:

 Il («Rend Les Accessoires de base», () = & GT; {
    const {conteneur} = rendu (& lt; togglebutton / & gt;
  )
 Attendre (Conteneur) .Tomatchsnapshot ()
})
il ("rendu l'utilisateur d'interface de la lumière de la Lumière sur clic", () = & gt; {
    const {conteneur, getbytestide} = rendu (& lt; togglebutton / & gt;)
    FireEvent.Cliquez sur (GetByTestid ('Mode-Toggle')))
    Attendre (Conteneur) .Tomatchsnapshot ()
})) 

C'EST Génial: NOUS N'AVONS PAS BESOIN D'ALLER MANUELLEMENT SUR LE SITE ET DE REMONTEUR Autour du Tour, Puis Cliquez sur le Bouton et Soiteur Autour de Vous UNE SIGNE FOI - AU COURS DE LAQULLE VOUS POURRIEZ ADDTREE, VOUS POURRIEZ ADTRETRE , probable probable d'alléz, oublier ou manqueur croquette choisi! NOUS POUVONS MARTANTANT AVOIR CONFICE QUE, ÉTANT DONNÉ LA MÊME ENTRÉE, NOUS POUVONS NOUS ASSOIRE À LA MÊME SORTIE DANS NOTRE COMMUNANT.

Quand IL S'agit de Tester des Identiments, JE N'AIME PAS PERSONNELMENT UTILISER Data-Testid Trouveur Quelque Chose Dans Le Dom. Après Tout, L'Objet des tests Est d'imiter que l'utilisateur Fais et de testeur CE Qui SE Passe Quand Iils Le font. Data-Testid Sur le SE envoyé comme Nations Triche - Bien que les testicules de Données Soixantie Soixantie utiles à Vélenieur QA (voir Le Rôle des Ingénieurs d'Assurance Qualité).

Au lieu de Cela, NOUS POURRONS UTILISER getBytext () et transmettre le texte de Notre Bouton. Cette Méthode Serait Beaucoup Plus Spécifique Comprement au Crédit.

08. Mock et espionnner La Fonction

Parfois, NOUS Devrions Tester Peu-----étant Tester Un appel à une Fonction, Fonction de la Fonction de la Maison Cette Est en déchets de la Porte du test. Par exemple, J'ai Un module NON CONTENANT DISCONNATIVE UNE FONCTION TIM CALCULE LA VALEUR DE PI SUR UNE NOMBRE DE DÉCIMALES.

JE N'AI PAS BESIN DE TESTER LE MODULE LE RÉSULTAT DE CE. J'ai Besoin de Tester QUE MA Fonction Faire common Prévu. Pour plus d'Informations sur la Raison pour Laquelle Cela Est, Veuillez Vous Reporter à la Case et aux tests d'Intégration. Dans CE CAS, NOUS POURRONS «SIMULER» Cette Fonction:

 const getpivalue = jest.fn ()
Il ("Appelle La Fonction en Cliquant sur", () = & GT; {
    const {conteneur, getbytestide} = rendu (& lt; togglebutton / & gt;)
    FireEvent.Cliquez sur (GetByTestid ('Mode-Toggle')))
    Assistez-vous (getpivalue) .tohavebeencalledtimes (1)
  )
})) 

La Fonction tohavebeencalledtimes () EST L'UNE DES NOMBREUSES FONCTIONS D'ASSISTANCE DE LA BIBLIOTHÈQUE DE TEST QUI NOUS PERFETENT

Tester La Sortie des Fonctions. CELA NOUS PERMET PERMET non SEULENT DE METTRE EN PLACE NOS TESTS UNIQUENT AU MODULE QUE NOUS VOULONS TESTER, MAIS SIMNIFIE ÉGALEMENT QUE NOUS POUVONS «ESPIONNER» OU VERT NOTRE FRONT FRONT FRONCTION FAIT FRONT FAIT LORSQU'ELLE APPLOUNTE CETTE FONCTION.

09. Démarrer Les Tests Réagissent des Applications

Test React

(Image: © BIBLIOTHÈQUE DE TESTS DE RÉACTION) [DIX]

Les TESTS D'ÉCROILLER SEMBLE PUUVENT UN PUU DÉCOURAGEANT DE COMMENCER. J'ESPÈRE que CE Tutoriel VOUS A DONÉNÉ UN Peu plus de conférence pour l'essayeur. DEPUU QUE J'ai Commencé à Écrire des tests Pour les applications MES, JE NE PEUX VRAIMENT PAS REVENIR EN Arrière: JE PEUX ME REPOSER PLUS OPÉRATION, SACHANT QUE JE PARS DE DERRIÈRE UN BIEN MEILLEUR Héritage Héritage pour le PuzEUR Qui Utiliseront Mon Travail à l'AVENIR.

Pour plus d'idées sur la Manière de Tester Vos Composants, Visitez BIBLIOTHÈQUE DE TESTS DE RÉACTION or Réagir des exemples de test . SI VOUS RECHERCHEZ DES COURS POUR VOUS ARTIDE À DÉMARER, Celui de Kent C Dodds (Qui a Écrit et maintient La Bibliothèque de tests de Réaction) Est Populaire. J'ai aussi apprécié Celui-CI sur des Tutoriels de Niveau Supérieur C'est Celui Qui M'a Commencé à Écrire des tests Versez Mon code.

N'OUBLEZ PAS QUE SI VOUS Construite Complexe de site de l'ONU, VOUS VOUDREZ OBTENIR Hébergement Web Point de service sur. Site CE et SI EST Susceptible de Contenir de Nombreux Actifs, Les Stocker Dans Un Fiabilité stockage en ligne est crucial.

[DIX]

CE CONTENU EST Apparu à l'Origin Dans filet de magazine . En savoir plus de notre Articles de conception Web ICI .

Lire la suite:

  • HTML6: Qu'est-CE Que c'est et quand arrivée-t-il?
  • Écrire du code HTML plus Rapidement
  • Conception d'applications mobiles: Guide de débutant
[DIX] [DIX]
[DIX]

Comment - Most Popular Articles

Comment utiliser l'esquisse de gravité

Comment Sep 16, 2025

[DIX] [DIX] [DIX] [dix] (Crédit d'image: Croquis de gravité) [DIX] Esquisse de gra..


LINO PrintMaking: une introduction

Comment Sep 16, 2025

[DIX] [DIX] [DIX] [dix] (Crédit d'Images: Meg Buick) [DIX] PrintMaking Lino Est un ..


Utilisez WordPress comme un CMS sans tête

Comment Sep 16, 2025

[dix] [dix] [dix] [dix] J'ai d'abord entendu parler de l'approche CMS sans tête dans une conversatio..


3 conseils pour créer un superbe matériel promotionnel d'impression

Comment Sep 16, 2025

[dix] [dix] [dix] [dix] Dans un monde de plus en plus numérique, le matériel promotionnel d'impress..


6 façons d'accélérer votre modélisation

Comment Sep 16, 2025

[dix] [dix] [dix] [dix] Un flux de travail plus efficace est l'avantage évident d'améliorer votre t..


Comment utiliser Markdown dans le développement Web

Comment Sep 16, 2025

[dix] [dix] [dix] [dix] En tant que développeurs Web et créateurs de contenu, nous passons généra..


Comment créer des cheveux de style manga en mouvement

Comment Sep 16, 2025

Apprentissage Comment dessiner manga n'est pas facile feat. Donc, pour faciliter la tâche que possible, je suis un simple processus étape par étape qui utilise le mouvement,..


Le Guide de la création de textures 3D

Comment Sep 16, 2025

[dix] [dix] [dix] [dix] Cinq artistes remarquables démontrent les astuces de leur métier, expliquan..


Catégories