Menguji props komponen adalah aspek penting untuk memastikan keandalan dan fungsionalitas komponen React. Sebagai pemasok Enzim, saya memahami pentingnya menyediakan alat dan teknik yang efektif untuk menguji aplikasi React. Dalam postingan blog ini, saya akan berbagi wawasan berharga tentang cara menguji props komponen dengan Enzyme, sebuah utilitas pengujian JavaScript populer untuk React.
Pengertian Enzim
Enzim adalah utilitas pengujian JavaScript yang dikembangkan oleh Airbnb. Ini menyediakan seperangkat utilitas pengujian yang membuatnya lebih mudah untuk menguji komponen React. Enzim memungkinkan Anda untuk memanipulasi, melintasi, dan menanyakan keluaran komponen React Anda dengan cara yang mirip dengan jQuery. Ini mendukung mode rendering yang berbeda, seperti rendering dangkal, rendering DOM penuh, dan rendering statis, yang memberi Anda fleksibilitas dalam menguji komponen Anda.
Menyiapkan Lingkungan Pengujian
Sebelum Anda mulai menguji props komponen dengan Enzim, Anda perlu menyiapkan lingkungan pengujian Anda. Berikut langkah-langkah untuk memulai:
- Instal Enzim dan Adaptornya: Anda dapat menginstal Enzim dan adaptornya menggunakan npm atau benang. Misalnya, jika Anda menggunakan React 16, Anda harus menginstalnya
enzimDanenzim-adaptor-reaksi-16.
npm install --save-dev enzim enzim-adaptor-reaksi-16
- Konfigurasikan Adaptor: Di file pengaturan pengujian Anda, konfigurasikan adaptor Enzim. Berikut ini contohnya:
impor Enzim dari 'enzim'; impor Adaptor dari 'enzyme-adapter-react-16'; Enzim.konfigurasi({ adaptor: adaptor baru() });
Menguji Props Komponen dengan Rendering Dangkal
Rendering dangkal adalah teknik yang memungkinkan Anda merender komponen "sedalam satu tingkat" tanpa merender turunannya. Ini berguna untuk menguji masing-masing komponen secara terpisah. Berikut ini contoh cara menguji props komponen menggunakan rendering dangkal:
impor Bereaksi dari'bereaksi'; impor {dangkal } dari 'enzim'; impor Komponen Saya dari './Komponen Saya'; deskripsikan('Komponen Saya', () => { it('harus dirender dengan alat peraga yang benar', () => { const alat peraga = { judul: 'Judul Uji', deskripsi: 'Deskripsi Uji' }; const wrapper = dangkal(<Komponen Saya {...props} />); ekspektasi(wrapper.prop('judul')).toBe('Judul Uji'); mengharapkan(wrapper.prop('deskripsi')).toBe('Deskripsi Tes'); }); });
Dalam contoh ini, kita membuat sebuah objek dengan props yang ingin kita teruskan keKomponen Saya. Kami kemudian menggunakandangkaluntuk merender komponen dengan props ini. Akhirnya, kami menggunakanmenopangmetode untuk mengakses alat peraga dan membuat pernyataan tentang nilainya.


Menguji Jenis Prop
Tipe prop adalah cara untuk mendokumentasikan dan menerapkan tipe props yang diharapkan oleh komponen. Anda dapat menggunakan Enzyme untuk menguji apakah suatu komponen menangani tipe prop dengan benar. Berikut ini contohnya:
impor Bereaksi dari'bereaksi'; impor PropTypes dari 'prop-types'; impor {dangkal } dari 'enzim'; const Komponen Saya = ({ judul }) => ( <div>{judul}</div> ); MyComponent.propTypes = { judul: PropTypes.string.isRequired }; deskripsikan('Komponen Saya', () => { it('harus memberikan peringatan jika prop hilang', () => { console.error = jest.fn(); dangkal(<Komponen Saya />); harapkan(konsol.kesalahan).toHaveBeenCalled(); }); });
Dalam contoh ini, kami menggunakanadalah.fn()untuk memata-mataikonsol.kesalahanmetode. Kami kemudian merender komponen tanpa meneruskan yang diperlukanjudulmenopang. Jika validasi tipe prop gagal, peringatan akan dicatat ke konsol, dan pengujian kita akan lulus jikakonsol.kesalahanmetode telah dipanggil.
Menguji Alat Peraga dengan Rendering DOM Penuh
Rendering DOM penuh berguna ketika Anda perlu menguji interaksi antara komponen dan turunannya atau ketika Anda perlu menguji perilaku komponen dalam lingkungan yang lebih realistis. Berikut ini contoh cara menguji props komponen menggunakan rendering DOM lengkap:
impor Bereaksi dari'bereaksi'; impor { mount } dari 'enzim'; impor Komponen Saya dari './Komponen Saya'; deskripsikan('Komponen Saya', () => { it('harus dirender dengan props yang benar menggunakan rendering DOM lengkap', () => { const props = { title: 'Judul Tes', deskripsi: 'Deskripsi Tes' }; const wrapper = mount(<MyComponent {...props} />); ekspektasi(wrapper.prop('title')).toBe('Judul Tes'); mengharapkan(wrapper.prop('deskripsi')).toBe('Deskripsi Tes'); }); });
Dalam contoh ini, kami menggunakangunungmetode sebagai gantinyadangkal. ItugunungMetode ini merender komponen dan turunannya menjadi DOM nyata, yang memungkinkan kita menguji perilaku komponen dalam lingkungan yang lebih realistis.
Menguji Alat Peraga dengan Rendering Statis
Rendering statis berguna ketika Anda hanya perlu menghasilkan output HTML suatu komponen tanpa memasangnya di DOM. Berikut ini contoh cara menguji props komponen menggunakan rendering statis:
impor Bereaksi dari'bereaksi'; impor { render } dari 'enzim'; impor Komponen Saya dari './Komponen Saya'; deskripsikan('Komponen Saya', () => { it('harus dirender dengan props yang benar menggunakan rendering statis', () => { const props = { judul: 'Judul Tes', deskripsi: 'Deskripsi Tes' }; const wrapper = render(<Komponen Saya {...props} />); ekspektasi(wrapper.find('h1').text()).toBe('Judul Tes'); mengharapkan(wrapper.find('p').text()).toBe('Deskripsi Tes'); }); });
Dalam contoh ini, kami menggunakanmemberikanmetode untuk menghasilkan output HTML komponen. Kita kemudian dapat menggunakan penyeleksi mirip jQuery untuk menanyakan keluaran dan membuat pernyataan tentang props.
Aplikasi Dunia Nyata dan Produk Terkait
Di dunia nyata, pengujian props komponen sangat penting untuk membangun aplikasi React yang berkualitas tinggi. Di perusahaan kami, kami tidak hanya menyediakan Enzim tetapi juga menawarkan serangkaian produk terkait yang dapat meningkatkan proses pengembangan dan pengujian Anda. Misalnya, kita punyaNikotinamida Mononukleotida, yang memiliki potensi manfaat kesehatan dan dapat digunakan dalam berbagai aplikasi. Kami juga menawarkanPasokan Pabrik Bubuk Alpukat Kering Organik, bahan alami dan bergizi. Dan untuk aplikasi industri, kami punyaMinyak Terpentin/Minyak Terpentin Berkualitas Tinggi Harga Pabrik/Minyak Terpentin Mineral, yang banyak digunakan dalam industri manufaktur.
Kesimpulan
Menguji props komponen dengan Enzim adalah keterampilan penting bagi pengembang React. Dengan menggunakan rendering dangkal, rendering DOM penuh, dan rendering statis, Anda dapat menguji komponen dalam berbagai skenario dan memastikan komponen berfungsi sesuai harapan. Baik Anda seorang pemula atau pengembang berpengalaman, menguasai teknik-teknik ini akan membantu Anda membangun aplikasi React yang lebih andal dan mudah dipelihara.
Jika Anda tertarik untuk membeli Enzim atau produk kami yang lain, jangan ragu untuk menghubungi kami untuk diskusi pengadaan. Kami berkomitmen untuk menyediakan produk berkualitas tinggi dan layanan pelanggan terbaik.
Referensi
- Airbnb. (nd). Enzim - Utilitas Pengujian JavaScript untuk React. Diperoleh dari https://enzymejs.github.io/enzyme/
- Bereaksi. (nd). React - Pustaka JavaScript untuk membangun antarmuka pengguna. Diperoleh dari https://reactjs.org/
- Bersenda gurau. (nd). Jest - Pengujian JavaScript yang Menyenangkan. Diperoleh dari https://jestjs.io/