Ako otestovať stránkovanie v komponentoch React s enzýmom?

Nov 11, 2025

Zanechajte správu

Dr. Emily Carterová
Dr. Emily Carterová
Ako riaditeľ výskumu zdravia v Asclepiuse vediem náš tím pri vývoji špičkových práškov extraktu rastlín. S viac ako desaťročnými skúsenosťami v chémii prírodných produktov som nadšený tvorbou inovatívnych riešení, ktoré využívajú silu prírody.

Testovanie stránkovania v komponentoch React je kľúčovou súčasťou zabezpečenia funkčnosti a používateľskej skúsenosti vašich webových aplikácií. Ako dodávateľ enzýmu som z prvej ruky videl, aké dôležité je mať spoľahlivý proces testovania funkcií stránkovania. V tomto blogovom príspevku sa podelím o niekoľko tipov a trikov, ako otestovať stránkovanie v komponentoch React pomocou Enzyme.

Pochopenie stránkovania v React

Skôr než sa vrhneme na testovanie, rýchlo si prejdeme, čo je stránkovanie a ako je implementované v Reacte. Stránkovanie je technika používaná na rozdelenie veľkých množín údajov na menšie, lepšie spravovateľné stránky. V aplikácii React sa stránkovanie často implementuje pomocou stavu na sledovanie aktuálnej stránky a počtu položiek na stránke.

Tu je jednoduchý príklad komponentu React so stránkovaním:

import Reagovať, { useState } from'react'; const PaginationComponent = ({ items }) => { const [currentPage, setCurrentPage] = useState(1); const itemsNaPage = 10; const indexOfLastItem = aktuálna stránka * položky na stránke; const indexOfFirstItem = indexOfLastItem - itemsPerPage; const currentItems = items.slice(indexOfFirstItem, indexOfLastItem); const paginate = (číslo stránky) => setCurrentPage(pageNumber); return ( <div> {currentItems.map((item) => ( <div key={item.id}>{item.name}</div> ))} {/* Tlačidlá stránkovania */} <button onClick={() => paginate(currentPage - 1)} disabled={currentPage === 1}> Predchádzajúce </button (kliknutie)(Pagin> = paginate 1)} disabled={indexOfLastItem >= items.length}> Ďalej </button> </div> ); }; exportovať predvolenú PaginationComponent;

Nastavenie enzýmu na testovanie

Enzyme je pomôcka na testovanie JavaScriptu pre React, ktorá uľahčuje presadzovanie, manipuláciu a prechádzanie výstupom vašich komponentov React. Ak chcete začať s Enzyme, musíte si ho nainštalovať spolu s adaptérom pre vašu verziu Reactu.

npm install --save-dev enzyme enzyme-adapter-react-16

Tu je návod, ako môžete nastaviť Enzyme v testovacom súbore:

import Enzyme, { plytké } z 'enzýmu'; importovať adaptér z 'enzyme-adapter-react-16'; Enzyme.configure({ adaptér: new Adapter() });

Testovanie funkčnosti stránkovania

Teraz, keď máme náš komponent a enzým nastavený, začnime testovať funkčnosť stránkovania.

Testovanie počiatočného vykreslenia

Prvá vec, ktorú chceme otestovať, je počiatočný render komponentu. Skontrolujeme, či sa na prvej strane zobrazuje správny počet položiek.

import React from'react'; import PaginationComponent z './PaginationComponent'; import Enzyme, { plytké } z 'enzýmu'; importovať adaptér z 'enzyme-adapter-react-16'; Enzyme.configure({ adaptér: new Adapter() }); description('PaginationComponent', () => { const items = Array.from({ length: 20 }, (_, i) => ({ id: i, name: `Item ${i}` })); it('malo by vykresliť správny počet položiek na prvej stránke', () => { const wrapper =plytké položky} /=itka>); ocakavat(wrapper.find('div').length).toBe(10 + 2 // 10 poloziek + 2 tlacidla });

Testovanie stránkovacích tlačidiel

Ďalej otestujeme tlačidlá stránkovania, aby sme sa uistili, že fungujú podľa očakávania. Klikneme na tlačidlo "Ďalej" a skontrolujeme, či je zobrazená ďalšia skupina položiek.

it('má zobraziť ďalšiu množinu položiek, keď sa klikne na tlačidlo Ďalej', () => { const wrapper = plytké(<PaginationComponent items={items} />); const nextButton = wrapper.find('button').at(1); nextButton.simulate('click'); // Skontrolujte, či je stav aktualizovaný správne(2) /'current ChecktoBestate'). počet položiek sa zobrazuje očakávať(wrapper.find('div').length).toBe(10 + 2 });

Podobným spôsobom môžeme otestovať aj tlačidlo „Predchádzajúce“:

Factory Supply Organic Dried Avocado PowderGinger Oil

it('má zobraziť predchádzajúcu množinu položiek po kliknutí na tlačidlo Predchádzajúce', () => { const wrapper = plytké(<položky PaginationComponent={items} />); const nextButton = wrapper.find('button').at(1); nextButton.simulate('Button'); const prevButton = wrapton.preklik';button.0). ocakavat(obal.stav('aktualnaStrana')).toBe(1) ocakavat(zabal.find('div').length).toBe(10 + 2 });

Testovanie zakázaných tlačidiel

Mali by sme tiež vyskúšať, či sú tlačidlá stránkovania deaktivované, keď by mali byť. Napríklad tlačidlo „Predchádzajúce“ by malo byť vypnuté na prvej stránke a tlačidlo „Ďalej“ by malo byť vypnuté na poslednej stránke.

it('má zakázať tlačidlo Predchádzajúce na prvej stránke', () => { const wrapper = plytké(<PaginationComponent items={items} />); const prevButton = wrapper.find('button').at(0); expect(prevButton.prop('disabled')).toBe(true); }); it('should disable the Next button on the last page', () => { const wrapper = plytký(<PaginationComponent items={items} />); // prechod na poslednú stránku while (wrapper.find('button').at(1).prop('disabled') === false) {'click''clickper.find}('). dalsieTlačidlo = wrapper.find('tlačidlo').at(1) očakávať(ďalšieTlačidlo.prop('zakázané')).toBe(true });

Pokročilé scenáre testovania

Testovanie puzdier Edge

Okrem základnej funkcionality by sme mali otestovať aj niektoré edge case. Čo sa napríklad stane, ak neexistujú žiadne položky alebo ak je položiek menej ako položiek na stránke?

it('malo by spracovať prázdny zoznam položiek', () => { const wrapper = plytký(<položky PaginationComponent={[]} />); expect(wrapper.find('div').length).toBe(2); // Iba tlačidlá }); it('malo by spracovať zoznam položiek menších ako položky na stránku', () => { const smallItems = Array.from({ length: 5 }, (_, i) => ({ id: i, name: `Položka ${i}` })); const wrapper = plytké(<PaginationComponent items={smallItems}); ocakavat(zabal.find('div').dlzka).toBe(5 + 2 });

Testovanie s rôznymi položkami na stránku

Môžeme tiež otestovať komponent s rôznymi hodnotami prepoložky na stránku. To môže byť užitočné, ak vaša aplikácia umožňuje používateľovi zmeniť počet položiek zobrazených na stránke.

it('malo by zobraziť správny počet položiek s inou hodnotou itemsPerPage', () => { const CustomPaginationComponent = ({ items }) => { const [currentPage, setCurrentPage] = useState(1); const itemsPerPage = 5; // Zvyšok kódu komponentu... };<constCustomponentComponent =Položky stránky>plytké); ocakavat(zabal.find('div').dlzka).toBe(5 + 2 });

Záver

Testovanie stránkovania v komponentoch React s Enzyme je dôležitým krokom pri zabezpečení spoľahlivosti a funkčnosti vašej aplikácie. Podľa tipov a príkladov v tomto blogovom príspevku môžete napísať komplexné testy funkcií stránkovania.

Ak hľadáte vysokokvalitné enzýmové produkty pre vaše potreby testovania, sme tu, aby sme vám pomohli. Ponúkame širokú škálu enzýmových roztokov, vrátaneZázvorový olej,Organický sušený avokádový prášok z továrneaVeľkoobchodná cena 100% srvátkový proteín. Kontaktujte nás, aby sme prediskutovali vaše požiadavky a začali rokovania o obstarávaní.

Referencie

  • Enzýmová dokumentácia: https://enzymejs.github.io/enzyme/
  • Dokumentácia React: https://reactjs.org/docs/getting-started.html
Zaslať požiadavku