Bagaimana untuk menguji penomboran dalam komponen React dengan enzim?

Nov 11, 2025

Tinggalkan pesanan

Dr. Emily Carter
Dr. Emily Carter
Sebagai Pengarah Penyelidikan Makanan Kesihatan di Asclepius, saya mengetuai pasukan kami dalam membangunkan serbuk ekstrak tumbuhan canggih. Dengan lebih dari satu dekad pengalaman dalam kimia produk semulajadi, saya bersemangat untuk mewujudkan penyelesaian inovatif yang memanfaatkan kuasa alam.

Pengujian Pagination dalam Komponen React adalah bahagian penting dalam memastikan fungsi dan pengalaman pengguna aplikasi web anda. Sebagai pembekal enzim, saya telah melihat secara langsung betapa pentingnya mempunyai proses ujian yang boleh dipercayai untuk ciri penomboran. Dalam catatan blog ini, saya akan berkongsi beberapa petua dan cara untuk menguji penomboran dalam komponen React menggunakan enzim.

Memahami penomboran dalam React

Sebelum kita menyelam ke dalam ujian, mari kita cepat pergi ke arah penomboran dan bagaimana ia dilaksanakan dalam React. Pagination adalah teknik yang digunakan untuk membahagikan dataset besar ke dalam halaman yang lebih kecil dan lebih mudah diurus. Dalam aplikasi React, penomboran sering dilaksanakan menggunakan Negeri untuk menjejaki halaman semasa dan bilangan item setiap halaman.

Berikut adalah contoh mudah komponen React dengan penomboran:

import react, {usestate} dari'React '; const paginationComponent = ({items}) => {const [currentPage, setCurrentPage] = useState (1); const itemperPage = 10; const indexOfLastItem = currentPage * itemTemenPage; const indexOffirStItem = IndexOfLastItem - ItemsPerPage; const currentItems = items.slice (IndexOffirStItem, indexOfLastItem); const paginate = (pagenumber) => setCurrentPage (pagenumber); kembali (<div> {currentItems.map ((item) => (<div key = {item.id}> {item.name} </div>))} {/ * butang pagination */} <butang onclick = {() => paginate (currentPage - 1) paginate (currentPage + 1)} disabled = {indexOfLastItem> = items.length}> Seterusnya </butang> </div>); }; Eksport PaginationComponent Default;

Menyediakan enzim untuk ujian

Enzim adalah utiliti ujian JavaScript untuk bertindak balas yang menjadikannya lebih mudah untuk menegaskan, memanipulasi, dan melintasi output komponen React anda. Untuk memulakan dengan enzim, anda perlu memasangnya bersama -sama dengan penyesuai untuk versi React anda.

Pemasangan NPM-S-SAVE-DEV Enzim-Adapter-ReAct-16

Berikut adalah cara anda boleh menyediakan enzim dalam fail ujian anda:

enzim import, {cetek} dari 'enzim'; penyesuai import dari 'enzim-adapter-react-16'; Enzyme.configure ({Adapter: New Adapter ()});

Menguji fungsi penomboran

Sekarang kita mempunyai komponen dan enzim kami, mari mula menguji fungsi penomboran.

Menguji Render Awal

Perkara pertama yang ingin kami uji adalah penyerahan awal komponen. Kami akan menyemak sama ada bilangan item yang betul dipaparkan pada halaman pertama.

Import React dari'React '; Import PaginationComponent dari './PaginationComponent'; enzim import, {cetek} dari 'enzim'; penyesuai import dari 'enzim-adapter-react-16'; Enzyme.configure ({Adapter: New Adapter ()}); terangkan ('paginationcomponent', () => {const items = array.from ({length: 20}, (_, i) => ({id: i, name: `item $ {i}`}); menjangkakan (wrapper.find ('div') panjang) .tobe (10 + 2);

Menguji butang penomboran

Seterusnya, kami akan menguji butang penomboran untuk memastikan ia berfungsi seperti yang diharapkan. Kami akan mengklik butang "Seterusnya" dan periksa sama ada set item seterusnya dipaparkan.

ia ('harus memaparkan set item seterusnya apabila butang seterusnya diklik', () => {const wrapper = cetek (<paginationComponent items = {item} />); const nextButton = wrapper.find ('butang') pada (1); menjangkakan (wrapper.state ('currentpage')). Tobe (2);

Kami juga boleh menguji butang "sebelumnya" dengan cara yang sama:

Factory Supply Organic Dried Avocado PowderGinger Oil

ia ('harus memaparkan set item sebelumnya apabila butang sebelumnya diklik', () => {const wrapper = cetek (<paginationComponent items = {item} />); const nextButton = wrapper.find ('butang') pada (1); prevbutton.simulate ('klik');

Menguji butang kurang upaya

Kita juga harus menguji bahawa butang penomboran dilumpuhkan apabila mereka sepatutnya. Sebagai contoh, butang "sebelumnya" harus dilumpuhkan pada halaman pertama, dan butang "Seterusnya" harus dilumpuhkan pada halaman terakhir.

ia ('harus melumpuhkan butang sebelumnya pada halaman pertama', () => {const wrapper = cetek (<paginationComponent items = {item} />); const prevButton = wrapper.find ('butang'). ia ('hendaklah melumpuhkan butang seterusnya pada halaman terakhir', () => {const wrapper = cetek (<paginationComponent items = {item} />); // navigasi ke halaman terakhir (wrapper.find '). NextButton = Wrapper.Find ('Button') pada (1);

Senario ujian lanjutan

Kes -kes kelebihan ujian

Sebagai tambahan kepada fungsi asas, kita juga harus menguji beberapa kes kelebihan. Sebagai contoh, apa yang berlaku jika tiada item atau jika terdapat item yang lebih sedikit daripada item setiap halaman?

ia ('harus mengendalikan senarai item kosong', () => {const wrapper = cetek (<paginationComponent items = {[]} />); mengharapkan (wrapper.find ('div'). ia ('harus mengendalikan senarai item yang lebih kecil daripada item setiap halaman', () => {const smallItems = array.from ({length: 5}, (_, i) => ({id: i, name: `item $}`})); menjangkakan (wrapper.find ('div') panjang) .tobe (5 + 2);

Ujian dengan item yang berbeza setiap halaman

Kita juga boleh menguji komponen dengan nilai yang berbeza untukItemsperpage. Ini berguna jika aplikasi anda membolehkan pengguna menukar bilangan item yang dipaparkan setiap halaman.

ia ('harus memaparkan bilangan item yang betul dengan nilai itemperpage yang berbeza', () => {const customPaginationComponent = ({items}) => {const [currentPage, setCurrentPage] = useState (1); menjangkakan (wrapper.find ('div') panjang) .tobe (5 + 2);

Kesimpulan

Menguji penomboran dalam komponen React dengan enzim adalah langkah penting dalam memastikan kebolehpercayaan dan fungsi aplikasi anda. Dengan mengikuti petua dan contoh dalam catatan blog ini, anda boleh menulis ujian komprehensif untuk ciri penomboran anda.

Jika anda sedang mencari produk enzim berkualiti tinggi untuk keperluan ujian anda, kami di sini untuk membantu. Kami menawarkan pelbagai penyelesaian enzim, termasukMinyak halia,Bekalan Kilang Serbuk Avokado kering organik, danHarga borong pukal 100% protein whey. Hubungi kami untuk membincangkan keperluan anda dan memulakan rundingan perolehan.

Rujukan

  • Dokumentasi enzim: https://enzymejs.github.io/enzyme/
  • React Documentation: https://reactjs.org/docs/getting-started.html
Hantar pertanyaan