Maison  >  Article  >  interface Web  >  Guide de tests unitaires React : Comment garantir la qualité du code frontal

Guide de tests unitaires React : Comment garantir la qualité du code frontal

WBOY
WBOYoriginal
2023-09-26 13:45:39953parcourir

Guide de tests unitaires React : Comment garantir la qualité du code frontal

Guide des tests unitaires React : Comment garantir la qualité du code front-end

Introduction :
Avec le développement et la complexité du développement front-end, garantir la qualité du code front-end est devenu particulièrement important. En tant que bibliothèque JavaScript populaire, React nécessite également des tests unitaires efficaces pour garantir la fiabilité et la stabilité du code. Cet article vous présentera quelques concepts et pratiques de base des tests unitaires React, ainsi que des exemples de code spécifiques.

1. Concepts de base des tests unitaires React

  1. Définition des tests unitaires : Les tests unitaires font référence à une activité de développement qui vérifie la plus petite unité testable d'un logiciel. Dans le développement front-end, les composants React sont traités comme une unité et nous pouvons tester unitairement la fonctionnalité, la logique et l'interaction des composants.
  2. Choix du framework de test : il existe de nombreux excellents frameworks de test parmi lesquels choisir dans l'écosystème React, tels que Jest, Enzyme et React Testing Library. Dans cet article, nous expliquerons Jest et Enzyme à titre d'exemples.

2. Installez et configurez l'environnement de test

  1. La commande pour installer Jest et Enzyme est la suivante :

    npm install jest enzyme enzyme-adapter-react-16 --save-dev
  2. Créez le fichier jest.config.js dans le répertoire racine du projet et configurez le contenu suivant :

    module.exports = {
      verbose: true,
      setupFilesAfterEnv: ['<rootDir>/src/setupTests.js'],
    };
  3. Créez le fichier setupTests.js dans le dossier src et configurez le contenu suivant :

    import Enzyme from 'enzyme';
    import Adapter from 'enzyme-adapter-react-16';
    
    Enzyme.configure({ adapter: new Adapter() });

3. Pratique des tests unitaires React
Prenez un simple composant de compteur comme exemple pour présenter comment effectuer les tests unitaires React.

  1. Exemple de code du composant Counter :

    import React, { useState } from 'react';
    
    const Counter = () => {
      const [count, setCount] = useState(0);
    
      const increment = () => {
     setCount(count + 1);
      };
    
      const decrement = () => {
     if (count > 0) {
       setCount(count - 1);
     }
      };
    
      return (
     <div>
       <button onClick={decrement}>-</button>
       <span>{count}</span>
       <button onClick={increment}>+</button>
     </div>
      );
    };
    
    export default Counter;
  2. Écrivez un scénario de test pour le composant Counter, créez le fichier Counter.test.js et ajoutez le contenu suivant :

    import React from 'react';
    import { mount } from 'enzyme';
    import Counter from './Counter';
    
    describe('Counter组件', () => {
      it('初始count值为0', () => {
     const wrapper = mount(<Counter />);
     expect(wrapper.find('span').text()).toEqual('0');
      });
    
      it('点击+按钮时count自增', () => {
     const wrapper = mount(<Counter />);
     wrapper.find('button').at(2).simulate('click');
     expect(wrapper.find('span').text()).toEqual('1');
      });
    
      it('点击-按钮时count自减', () => {
     const wrapper = mount(<Counter />);
     wrapper.find('button').at(0).simulate('click');
     expect(wrapper.find('span').text()).toEqual('0');
     wrapper.find('button').at(0).simulate('click');
     expect(wrapper.find('span').text()).toEqual('0');
      });
    });

    Le scénario de test ci-dessus teste le composant Counter, dont la valeur initiale est 0. Lorsque vous cliquez sur le bouton +, le nombre augmente et lorsque vous cliquez sur le bouton -, le nombre diminue. En utilisant la méthode mount, nous pouvons simuler le cycle de vie du composant pour des tests interactifs.

4. Exécutez des tests unitaires et des rapports de couverture de test

  1. Ajoutez la commande suivante dans le fichier package.json :

    "scripts": {
      "test": "jest --coverage"
    }
  2. Exécutez la commande npm test pour exécuter tous les tests unitaires et générer un rapport de couverture de test. Vous pouvez consulter le rapport correspondant dans le dossier de couverture.

Conclusion : 
Grâce à l'introduction de cet article, vous avez compris les concepts et les pratiques de base des tests unitaires React, et comment utiliser Jest et Enzyme pour tester les composants React. Les tests unitaires améliorent non seulement la qualité du code, mais améliorent également l'efficacité et la maintenabilité du développement. J'espère que cet article vous a apporté de l'aide pour les tests unitaires dans votre projet React.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn