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
2. Installez et configurez l'environnement de test
La commande pour installer Jest et Enzyme est la suivante :
npm install jest enzyme enzyme-adapter-react-16 --save-dev
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'], };
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.
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;
É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
Ajoutez la commande suivante dans le fichier package.json :
"scripts": { "test": "jest --coverage" }
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!