𝗞𝘂𝗷𝗮𝗿𝗮𝗯𝗶 𝗻𝗮 𝗞𝘂𝘁𝗮𝘁𝘂𝗮 𝗛𝗶𝘁𝗶𝗹𝗮𝗳𝘂 𝗸𝗶𝗺𝗮 𝗥𝗲𝗮𝗰𝘁 𝗔𝗽𝗽𝘀
Acha kukisia kama kodi yako inafanya kazi. Tumia testing ili kujenga ujasiri.
Watengenezaji wengi hupuuza testing kwa sababu wanaona maandalizi yake ni magumu sana. Wanaitazama testing kama kazi ya ziada badala ya kuwa kinga.
Huandiki tests kwa ajili ya kompyuta. Unaziandika tests kwa ajili ya nafsi yako ya baadaye. Unapobadilisha function saa nane usiku, tests hukujulisha mara moja ikiwa umeharibu kitu.
Fikiria testing kama piramidi:
• Unit Tests: Jaribu function au component moja. Hizi ni za haraka na nyingi. • Integration Tests: Jaribu jinsi sehemu mbalimbali zinavyofanya kazi pamoja. Hizi hukupa ujasiri mkubwa. • E2E Tests: Jaribu app nzima kwenye kivinjari. Tumia hizi kwa njia muhimu tu kama login au checkout.
Kanuni ya dhahabu ya React Testing Library: Jaribu kile ambacho mtumiaji anakuona.
Usijaribu state variables. Usijaribu CSS classes. Usijaribu internal logic. Jaribu button, maandishi, na input. Ikiwa mtumiaji hawezi kukiona, usikijaribu.
Fuata mfumo wa Arrange, Act, Assert:
- Arrange: Render component yako.
- Act: Bonyeza button au andika kwenye field.
- Assert: Hakikisha kama maandishi sahihi yanaonekana kwenye skrini.
Kwa kodi za async kama API calls, tumia waitFor. Hii inaruhusu test yako kusubiri data imalize kupakia kabla ya kuangalia matokeo.
Ikiwa app yako itafeli (crash) kwenye production, tumia Error Boundaries. Hizi huzuia component moja iliyoharibika kuifanya ukurasa wako wote kuwa skrini nyeupe. Zinatoa njia mbadala ya kuridhisha (graceful fallback) kwa watumiaji wako.
Orodha ya haraka ya debugging:
- Angalia browser console kwa ajili ya makosa.
- Angalia Network tab ili kuona API responses.
- Tumia React DevTools kukagua props na state.
- Angalia ikiwa unabadilisha state moja kwa moja.
- Hakikisha dependency arrays zako za
useEffect.
Lenga kujaribu kile kinachojali. Huhitaji coverage ya 100%. Unahitaji kuweka coverage kwenye vipengele ambavyo vingesababisha madhara vikifeli.
Chanzo: https://dev.to/kushang_tailor/testing-debugging-react-apps-write-code-you-can-actually-trust-5334