Uvavanyo lokuZenzekelayo loVavanyo lokuSebenza kweReactJS

Ndiceba ukuvavanya isicelo seReactJS kwaye ndifuna ukufumanisa ukuba sesiphi esona sixhobo silungileyo phaya kwimarike sokwenza uvavanyo lokuphela kokuphela? Emva kokwenza uphando oluncinci ndafumanisa ukuba zininzi izixhobo ezikhoyo zokuvavanya usetyenziso lweReactJS kodwa yeyiphi eyona ilungileyo onokuyisebenzisa kuvavanyo lokuphela kokuphela?

Impendulo:

Akukho luvo 'sesona sixhobo silungileyo' xa kufikwa kuvavanyo oluzenzekelayo. Konke kuxhomekeke kumxholo weprojekthi yakho kunye nento ofuna ukuyiphumeza kwisixhobo.


Ndivavanye zombini iiAngular kunye neReactJS kwaye ndisebenzise kuphela Selenium WebDriver njengesixhobo sovavanyo esizenzekelayo ukwenza iimvavanyo zokugqibela. Nangona kunjalo, kubonakala ngathi kukho inani elikhulayo lezixhobo ezisekwe kuvavanyo olusisiseko lweJS kunye nezikhokelo zokuvavanya usetyenziso lweReactJS. Ezi zixhobo zibonakala zithandwa kakhulu phakathi kwabaphuhlisi 'bangaphambili' njengoko zisekwe kubaphuhlisi bolwimi abaziqhelileyo, iJavaScript.

Oko kuthetha ukuba ayingabavavanyi kuphela abanokubhala iimvavanyo ezizenzekelayo zokuphela, kodwa abaphuhlisi banokunceda xa kungekho xesha laneleyo okanye vimba.


Apha ngezantsi luluhlu lwezixhobo ezizenzekelayo zovavanyo kunye nezikhokelo zokuvavanya usetyenziso lweReactJS:



Uvavanyo lokuZenzekelayo Izixhobo zeReactJS

WebDriver.io

I-WebdriverIO sisixhobo esivulekileyo sovavanyo lomthombo Iifayile zeNode . Yenza ukuba kube lula ukubhala iimvavanyo ze-selenium ezilula ngeJavascript kwisakhelo sakho osithandayo se-BDD okanye se-TDD.

Ubusuku.js

Ubusuku.js kulula ukuyisebenzisa Iifayile zeNode Isisombululo sokuvavanya esisekwe ku-End-to-End (E2E) kwii -apps ezisekwe kubrawuza kunye neewebhusayithi. Isebenzisa abanamandla I-W3C WebDriver API ukwenza imiyalelo kunye namabango kwizinto ze-DOM.

Iphupha elibi

I-Nightmare yindawo ephezulu yethala leencwadi ezisebenzisa Icandelo .


Ngaphantsi kwezikhuselo, isebenzisa Electron , efanayo ne PhantomJS kodwa iphindwe kabini ngokukhawuleza nangakumbi.

UNiffy sisixhobo esahlukileyo sokuqonda esakhelwe kwi-Nightmare. Inceda ukuba ubone utshintsho lwe-UI kunye nee-bugs xa kukhutshwa usetyenziso lwakho lwewebhu.

Ukuphupha lulwandiso lwe chrome olunconyelwayo olwakhiwe ngu @lungelo_buthelezi evelisela izikripthi zasebusuku zakho ngelixa ukhangela.

Ngaba

IJest isetyenziswa nguFacebook ukuvavanya yonke ikhowudi yeJavaScript kubandakanya nokusabela kwizicelo. Enye yeefilosofi zikaJest kukubonelela ngokudibeneyo 'koqwalaselo' lwe-zero. Siqaphele ukuba xa iinjineli zinikwa izixhobo ezilungele ukusetyenziswa, ziphela zibhala iimvavanyo ezingaphezulu, nezithi zikhokelele kwiziseko zekhowudi ezinzileyo kunye nezisempilweni. U-Jest ukwangqinelana nokuqhutywa kovavanyo kubo bonke abasebenzi ukuze bandise intsebenzo.


UMocha

Ngelixa iJest ithandwa phakathi kwabaphuhlisi be-Facebook ukubhala iimvavanyo ezizenzekelayo zezicelo zeReactJS, inemicimbi ethile (iyacotha, ukuhlekisa kuyadida). IMocha iye yaba yindlela eyaziwayo. Kubuhlungu ngakumbi ukuseta kodwa kunokuba kufanelekile ukujongwa. Ndilindele ukuba ithandwe ngakumbi kwixa elizayo ngaphandle kokuba uJest oyise eminye yale micimbi iphambili. Yabona Ukuvavanya ukuSebenza kweeWebhu ngeMocha ukuqala.

Umkhuseli

Ukuvavanywa kokwamkelwa, ungaqwalasela uMkhuseli. Ngokusisiseko sisixhobo seAngular esakhelwe ngaphezulu kweSelenium kwaye iza ne-API entle. Ngethamsanqa, kunokwenzeka ukuba uyiqwalasele isebenze ngeReact. Into emnandi ngale ndlela kukuba oku kuyakuvumela ukuba uvavanye isicelo sakho ngokuchasene neendidi ezahlukeneyo zebrawuza.

I-enzyme

I-Enzyme sisixhobo soVavanyo lweJavaScript seReact esenza ukuba kube lula ukubamba, ukukhohlisa, kunye nokuwela iziphumo zakho zeReact Components. Ekuqaleni yenziwe ngu-Airbnb, iya isiba nanda ngakumbi. Ungayisebenzisa ngayo nayiphi na imbaleki yovavanyo (mocha, jasmine,…) kwaye kukho uncedo I-chai-enzyme Faka iplagi.

I-Enzyme + Mocha ibonakala iyindibaniselwano efanelekileyo yokuvavanya usetyenziso lwewebhu olubhalwe kwiReactJS. Kulula ukuyifunda, nokuba umntu omtsha kwiReactJS kunye neMocha banokumelana ngokulula nezi zixhobo ngexesha elifutshane.