Kako testirati portale u reagirati komponente sa enzimom?

Oct 13, 2025

Ostavi poruku

James Lee
James Lee
Procesni inženjer u našoj GMP fabrici. Moja uloga uključuje procese vađenja rafiniranja kako bi se osigurala skalabilnost i konzistentnost u našoj proizvodnji biljnog praha uz održavanje visokokvalitetnih standarda.

Hej tamo! Kao dobavljač enzima, vidio sam puno ljudi koji grebe glave kada su u pitanju testiranje portala u reagiranim komponentama sa enzimom. Portali su prilično cool funkcija u reagiranju koji vam omogućuju da djecu učini u dom čvoru koji postoji izvan hijerarhije Doma matične komponente. Ali testiranje ih može biti malo bola u tebi znaju - šta. U ovom blogu poštujem neke savjete i trikove o tome kako testirati portale u reagirati komponente sa enzimom.

Koji su portali u reagiranju?

Prije nego što zaronimo u testiranje, brzo ćemo preći preko kojih su portali. U reagiranju, portali pružaju prvoklasni način da djecu čine u dom čvor koji postoji izvan hijerarhije Doma matične komponente. Evo jednostavnog primjera korištenja portala u reagiranju:

uvoz reagira iz "reakcije"; uvoz reactdom iz 'react-dom'; Const Portalexample = ({Children}) => {povratni reaktor.CreatePortal (djeca, dokument.gerentmentByid ('portal-root')); }; Izvoz zadano Portalexamplexample;

U ovom primjeru,PortalexampleKomponenta uzima neko djecu i čini ih u dom čvoru sa ID-omportal-korijen, što bi moglo biti bilo gdje u HTML dokumentu, čak i izvan stabla Doma matičnog komponente.

Zašto su portali ispitivanja škakljivi

Portali za testiranje mogu biti izazovni jer enzim, prema zadanim postavkama, samo komunicira samo s stablom react komponente i ne djeluje izravno interakcija s stvarnim domom gdje portal čini svoju djecu. To znači da ako pokušate testirati komponentu koja koristi portal koristeći normalne metode enzima, možda nećete moći pristupiti sadržaju vraćenog portala.

Postavljanje okruženja za testiranje

Prvo prvo morate postaviti svoje okruženje za testiranje. Obavezno imate enzim i njegov adapter za reakciju u vašem projektu. Ako koristite react 16 ili noviji, trebat će vamenzim-adapter-react-16ili kasnija verzija ovisno o vašoj react verziji.

NPM instalacija --save-dev enzim enzyme-adapter-react-16

Zatim, u vašoj datoteci za testiranje konfigurirajte enzim da biste koristili adapter:

uvozi enzim iz 'enzima'; Uvoz adaptera iz 'enzyme-adapter-react-16'; Enzyme.configure ({adapter: novi adapter ()});

Portali za testiranje sa enzimom

Sada, idemo u stvarnu testiranje. Postoji nekoliko različitih pristupa koje možete preuzeti na testne portale u reagirati komponente sa enzimom.

1. Rugajući portalu

Jedan od načina za testiranje komponente koja koristi portal je ruganje funkcionalnosti portala. Umjesto da zapravo ne pružaju djecu u zaseban dom čvor, možete ih izravno prikazati u normalnom načinu prikazivanja komponente tokom testiranja.

Black Chinese WolfberryCbd Coffee

Evo primera kako to možete učiniti:

uvoz reagira iz "reakcije"; uvoziti {mount} iz 'enzim'; Const Portalexample = ({Children, USEPortal = True}) => {if (userval) {povratni reaktdom.CreatePortal (djeca, dokument.gerentmentByidni ('portal-root')); } povratak <div> {Children} </ div>; }; opisati () => {it ('treba učiniti djecu prilikom korištenja portala', () => {const wrapper = montiranje (<portalexamplexamPamPam </ portalexample>); očekuju (wrapper.text ());});});

U ovom primjeru dodali smo auseportalprosPortalexampleKomponenta. Kadauseportaljelažan, komponent čini djecu direktno u a<div>umjesto da koristi portal. Na ovaj način lako možemo testirati funkcionalnost komponente pomoću normalnih metoda Enzimma.

2. Ispitivanje dom čvora portala

Drugi pristup je testiranje stvarnog dom čvora gdje portal čini svoju djecu. Da biste to učinili, morate pristupiti dom čvoru i provjeriti njegov sadržaj.

uvoz reagira iz "reakcije"; uvoziti {mount} iz 'enzim'; Const Portalexample = ({Children}) => {povratni reaktor.CreatePortal (djeca, dokument.gerentmentByid ('portal-root')); }; opisati () => {it ('treba učiniti djecu u korijenu portala' () => {const portalroot = dokument.Dotrout.id = 'portal-root'; dokument (portalroot); montira (<portalexample> test sadržaj </ portalexample>); Očekujte (Portalroot.textContent) .Tobe ('test sadržaj'); dokument.Dod.Removechild (portalroot);});});

U ovom primjeru stvaramo novi dom čvor sa ID-omportal-korijenU testu montirajte komponentu pomoću enzima, a zatim provjerite sadržajportalrootčvor. Nakon završetka testa uklanjamoportalrootčvor iz doma da očisti.

Koristeći biblioteke treće strane

Postoje i neke biblioteke treće strane koje mogu lakše napraviti testiranje portala sa enzimom. Na primjer,@ Testing-biblioteka / reagirajBiblioteka ima ugrađenu podršku za testiranje portala. Možete ga koristiti u kombinaciji sa enzimom da biste efikasnije testirali svoje reakcije komponente.

NPM instalacija --Save-dev @ Testing-biblioteka / reagira

Evo primjera kako možete koristiti@ Testing-biblioteka / reagirajDa biste testirali komponentu koja koristi portal:

uvoz reagira iz "reakcije"; uvoziti {mount} iz 'enzim'; uvoz {render, ekranu} iz '@ testiranja-biblioteka / reagirajući'; Const Portalexample = ({Children}) => {povratni reaktor.CreatePortal (djeca, dokument.gerentmentByid ('portal-root')); }; opišite () => {it ('treba učiniti djecu u korijenu portala' () => {const portalroot = 'portalroot.AppendChild (portalroot); prikan (<portalexample> test sadržaj </ portalexample>); očekujte (screen.getbytext (' screen.getbytext ('test) Sadržaj '))). DobeitanjeDokument (); dokument.Dod.removechild (portalroot);});});

U ovom primjeru koristimo@ Testing-biblioteka / reagiraj'SrenderFunkcija za prikazivanje komponente iekran.getbytextDa biste provjerili da li se sadržaj prikazuje u korijenu portala.

Zaključak

Portali za testiranje u reagiranim komponentama sa enzimom mogu biti škakljivi, ali s pravim pristupom, definitivno je izvediv. Da li se odlučite rugati portalu, testirajte portal Dom čvor ili koristite biblioteke treće strane, ključ je pronaći način za pristup i provjeru sadržaja koji je portal pružio sadržaj.

Ako vas zanimaju naši enzimski proizvodi ili imate bilo kakvih pitanja o testiranju reagiranih komponenti, slobodno posegnuti za raspravu o nabavci. Ovdje smo da vam pomognemo da iskoristite najviše enzima u svojim projektima.

Uzgred, ako vas zanimaju i biljni ekstrakti, provjerite ove veze:Crna kineska vučnija,CBD kafa, iVisokokvalitetna terpentinska ulja / terpentinska tvornica ulja / mineralna terpentina ulje.

Reference

  • Reagirajte službenu dokumentaciju o portalima: reagirati tim.
  • Enzimska zvanična dokumentacija: Airbnb.
  • @ Testiranje-biblioteka / Reakcija Službena dokumentacija: Testiranje bibliotečke ekipe.
Pošaljite upit