𝗥𝗲𝗮𝗰𝘁 𝗔𝗽𝗽𝘀-களைச் சோதித்தல் மற்றும் பிழைதிருத்துதல் (Testing and Debugging React Apps)

உங்கள் குறியீடு (code) வேலை செய்கிறதா என்று ஊகிப்பதை நிறுத்துங்கள். நம்பிக்கையுடன் செயல்பட சோதனையைப் (testing) பயன்படுத்துங்கள்.

பெரும்பாலான டெவலப்பர்கள், அதன் அமைப்பினை (setup) கடினமானதாகக் கருதுவதால் சோதனையைத் தவிர்க்கிறார்கள். அவர்கள் சோதனையை ஒரு பாதுகாப்பு வலையாகப் பார்ப்பதற்குப் பதிலாக, ஒரு சுமையாகக் கருதுகிறார்கள்.

நீங்கள் கணினிக்காகத் சோதனைகளை எழுதுவதில்லை. உங்கள் எதிர்காலத் தேவைக்காகவே அவற்றை எழுதுகிறீர்கள். அதிகாலை 2 மணிக்கு நீங்கள் ஒரு function-ஐ மாற்றும்போது, ஏதேனும் தவறு நடந்துவிட்டதா என்பதைச் சோதனைகள் உடனடியாக உங்களுக்குத் தெரிவிக்கும்.

சோதனையை ஒரு பிரமிடு போலக் கருதுங்கள்:

• Unit Tests: ஒரு function அல்லது component-ஐச் சோதிக்கும். இவை வேகமானவை மற்றும் அதிக எண்ணிக்கையில் இருக்கும். • Integration Tests: பல்வேறு பகுதிகள் எவ்வாறு இணைந்து செயல்படுகின்றன என்பதைச் சோதிக்கும். இவை உங்களுக்கு அதிக நம்பிக்கையைத் தரும். • E2E Tests: ஒரு உலாவியில் (browser) முழு செயலையும் சோதிக்கும். login அல்லது checkout போன்ற முக்கியமான பாதைகளுக்கு (critical paths) மட்டுமே இவற்றைத் பயன்படுத்தவும்.

React Testing Library-யின் பொன்விதி: பயனர் எதைப் பார்க்கிறாரோ அதைச் சோதியுங்கள்.

state variables-களைச் சோதிக்க வேண்டாம். CSS classes-களைச் சோதிக்க வேண்டாம். உள் தர்க்கங்களை (internal logic) சோதிக்க வேண்டாம். பொத்தான்கள் (buttons), உரை (text) மற்றும் உள்ளீடுகளை (inputs) மட்டும் சோதியுங்கள். ஒரு பயனர் அதைப் பார்க்க முடியாவிட்டால், அதைச் சோதிக்க வேண்டாம்.

Arrange, Act, Assert முறையைப் பின்பற்றுங்கள்:

API calls போன்ற async code-களுக்கு, waitFor-ஐப் பயன்படுத்தவும். இது முடிவைச் சரிபார்க்கும் முன் தரவு (data) ஏற்றப்படும் வரை உங்கள் சோதனை காத்திருக்க அனுமதிக்கும்.

உங்கள் செயலி production-இல் செயலிழந்தால் (crash), Error Boundaries-ஐப் பயன்படுத்தவும். ஒரு பழுதான component உங்கள் முழுப் பக்கத்தையும் வெற்றுத் திரையாக (white screen) மாற்றுவதைத் இவை தடுக்கின்றன. இவை பயனர்களுக்குச் சிறந்த மாற்று வழியை (graceful fallback) வழங்குகின்றன.

விரைவான பிழைதிருத்தப் பட்டியல் (Quick debugging checklist):

முக்கியமானவற்றைச் சோதிப்பதில் கவனம் செலுத்துங்கள். உங்களுக்கு 100% coverage தேவையில்லை. தோல்வியடைந்தால் பாதிப்பை ஏற்படுத்தும் அம்சங்களை (features) மட்டும் நீங்கள் சோதித்தால் போதும்.

Source: https://dev.to/kushang_tailor/testing-debugging-react-apps-write-code-you-can-actually-trust-5334