Ujian komponen komponen adalah aspek penting untuk memastikan kebolehpercayaan dan fungsi komponen React. Sebagai pembekal enzim, saya memahami pentingnya menyediakan alat dan teknik yang berkesan untuk menguji aplikasi reaksi. Dalam catatan blog ini, saya akan berkongsi pandangan berharga tentang cara menguji alat komponen dengan Enzim, utiliti ujian JavaScript yang popular untuk React.
Memahami enzim
Enzim adalah utiliti ujian JavaScript yang dibangunkan oleh Airbnb. Ia menyediakan satu set utiliti ujian yang memudahkan untuk menguji komponen React. Enzim membolehkan anda memanipulasi, melintasi, dan menanyakan output komponen React anda dengan cara yang sama dengan jQuery. Ia menyokong mod rendering yang berbeza, seperti rendering cetek, rendering DOM penuh, dan rendering statik, yang memberi anda fleksibiliti dalam menguji komponen anda.
Menyediakan persekitaran ujian
Sebelum anda mula menguji alat komponen dengan enzim, anda perlu menyediakan persekitaran ujian anda. Berikut adalah langkah -langkah untuk memulakan:
- Pasang enzim dan penyesuainya: Anda boleh memasang enzim dan penyesuai menggunakan npm atau benang. Contohnya, jika anda menggunakan React 16, anda perlu memasang
Enzimdanenzim-adapter-react-16.
Pemasangan NPM-S-SAVE-DEV Enzim-Adapter-ReAct-16
- Konfigurasikan penyesuai: Dalam fail persediaan ujian anda, konfigurasikan penyesuai enzim. Inilah contoh:
enzim import dari 'enzim'; penyesuai import dari 'enzim-adapter-react-16'; Enzyme.configure ({Adapter: New Adapter ()});
Ujian komponen komponen dengan rendering cetek
Rendering cetek adalah teknik yang membolehkan anda membuat komponen "satu tahap mendalam" tanpa membuat mana -mana anaknya. Ini berguna untuk menguji komponen individu secara berasingan. Berikut adalah contoh bagaimana untuk menguji alat komponen menggunakan rendering cetek:
Import React dari'React '; import {cetek} dari 'enzim'; import myComponent dari './myComponent'; terangkan ('myComponent', () => {it ('harus diberikan dengan prop yang betul', () => {const props = {title: 'Title Title', description: 'Test Description'}; const wrapper = cetek (<myComponent {... props} />); menjangkakan (wrapper.prop ('description')).
Dalam contoh ini, kami membuat objek dengan alat peraga yang kami mahu lulus keMyComponent. Kami kemudian menggunakancetekuntuk menjadikan komponen dengan alat ini. Akhirnya, kami menggunakanpropKaedah untuk mengakses alat peraga dan membuat pernyataan mengenai nilai mereka.


Ujian jenis prop
Jenis prop adalah cara untuk mendokumentasikan dan menguatkuasakan jenis alat peraga yang diharapkan oleh komponen. Anda boleh menggunakan enzim untuk menguji bahawa komponen betul mengendalikan jenis prop. Inilah contoh:
Import React dari'React '; import proptypes dari 'prop-types'; import {cetek} dari 'enzim'; const myComponent = ({title}) => (<div> {title} </div>); MyComponent.proptypes = {title: proptypes.string.isrequired}; terangkan ('myComponent', () => {it ('harus membuang amaran untuk prop yang hilang', () => {console.error = jest.fn (); cetek (<myComponent />); mengharapkan (console.error).
Dalam contoh ini, kami menggunakanis.fn ()untuk mengintipConsole.errorkaedah. Kami kemudian memberikan komponen tanpa lulus yang diperlukantajukprop. Sekiranya pengesahan jenis prop gagal, amaran akan dilog masuk ke konsol, dan ujian kami akan lulus jikaConsole.errorkaedah telah dipanggil.
Ujian alat peraga dengan rendering DOM penuh
Rendering DOM penuh berguna apabila anda perlu menguji interaksi antara komponen dan anak -anaknya atau apabila anda perlu menguji tingkah laku komponen dalam persekitaran yang lebih realistik. Berikut adalah contoh bagaimana untuk menguji alat komponen menggunakan rendering DOM penuh:
Import React dari'React '; import {mount} dari 'enzyme'; import myComponent dari './myComponent'; terangkan ('myComponent', () => {it ('harus diberikan dengan prop yang betul menggunakan rendering dom penuh', () => {const props = {title: 'Title Title', Description: 'Test Description'}; const wrapper = mount (<myComponent {... props} />; menjangkakan (wrapper.prop ('description')).
Dalam contoh ini, kami menggunakangunungkaedah bukancetek. ThegunungKaedah menjadikan komponen dan anak -anaknya menjadi dom sebenar, yang membolehkan kita menguji tingkah laku komponen dalam persekitaran yang lebih realistik.
Menguji alat peraga dengan rendering statik
Rendering statik berguna apabila anda hanya perlu menghasilkan output HTML komponen tanpa memasangnya di DOM. Berikut adalah contoh bagaimana untuk menguji prop komponen menggunakan rendering statik:
Import React dari'React '; import {render} dari 'enzyme'; import myComponent dari './myComponent'; terangkan ('myComponent', () => {it ('harus diberikan dengan prop yang betul menggunakan rendering statik', () => {const props = {title: 'Title Title', Description: 'Test Description'}; const wrapper = render (<myComponent {... props} />; menjangkakan (wrapper.find ('p').
Dalam contoh ini, kami menggunakanrenderkaedah untuk menghasilkan output HTML komponen. Kami kemudian boleh menggunakan pemilih seperti jQuery untuk menanyakan output dan membuat pernyataan mengenai alat peraga.
Aplikasi dunia dan produk berkaitan
Di dunia nyata, ujian komponen ujian adalah penting untuk membina aplikasi reaksi berkualiti tinggi. Di syarikat kami, kami bukan sahaja menyediakan enzim tetapi juga menawarkan pelbagai produk berkaitan yang dapat meningkatkan proses pembangunan dan ujian anda. Contohnya, kita adaNicotinamide mononukleotida, yang mempunyai manfaat kesihatan yang berpotensi dan boleh digunakan dalam pelbagai aplikasi. Kami juga menawarkanBekalan Kilang Serbuk Avokado kering organik, bahan semulajadi dan berkhasiat. Dan untuk aplikasi perindustrian, kami adaMinyak Turpentine Tinggi/Minyak Turpentine Harga Kilang/Minyak Turpentine Mineral, yang digunakan secara meluas dalam industri pembuatan.
Kesimpulan
Ujian komponen komponen dengan enzim adalah kemahiran penting untuk pemaju React. Dengan menggunakan rendering cetek, rendering DOM penuh, dan rendering statik, anda boleh menguji komponen anda dalam senario yang berbeza dan memastikan bahawa mereka bekerja seperti yang diharapkan. Sama ada anda pemula atau pemaju yang berpengalaman, menguasai teknik ini akan membantu anda membina aplikasi React yang lebih dipercayai dan boleh dipelihara.
Jika anda berminat untuk membeli enzim atau mana -mana produk kami yang lain, sila hubungi kami untuk perbincangan perolehan. Kami komited untuk menyediakan produk berkualiti tinggi dan perkhidmatan pelanggan yang sangat baik.
Rujukan
- Airbnb. (ND). Enzim - Utiliti Ujian JavaScript untuk React. Diperolehi daripada https://enzymejs.github.io/enzyme/
- Bertindak balas. (ND). React - Perpustakaan JavaScript untuk membina antara muka pengguna. Diperolehi daripada https://reactjs.org/
- Jest. (ND). Jest - ujian JavaScript yang menyenangkan. Diperolehi daripada https://jestjs.io/