JavaScript ડેવલપર્સ માટે Jest ટેસ્ટિંગ ગાઈડ
ટેસ્ટિંગ તમને ભૂલો (bugs) વહેલી તકે શોધવામાં મદદ કરે છે. તે કોડની ગુણવત્તા સુધારે છે. તે જૂના કોડને બગાડ્યા વિના નવા ફીચર્સ લોન્ચ કરવાની સુવિધા આપે છે.
Jest એ JavaScript અને Node.js માટેનું એક લોકપ્રિય ટેસ્ટિંગ ટૂલ છે. તેને Meta દ્વારા બનાવવામાં આવ્યું છે. તે TypeScript, React, Next.js અને Express.js સાથે કામ કરે છે.
Jest નો ઉપયોગ શા માટે કરવો?
- તેમાં સેટઅપની ખૂબ ઓછી જરૂર પડે છે.
- તે ઝડપ માટે ટેસ્ટને સમાંતર (parallel) ચલાવે છે.
- તેમાં મોકિંગ (mocking) ટૂલ્સ શામેલ છે.
- તે કોડ કવરેજ રિપોર્ટ્સ બતાવે છે.
- તે સ્પષ્ટ એરર મેસેજ આપે છે.
Jest કેવી રીતે સેટઅપ કરવું:
- Node.js પ્રોજેક્ટ બનાવો:
npm init -y - Jest ઇન્સ્ટોલ કરો:
npm install --save-dev jest - "test": "jest" શામેલ કરવા માટે package.json સ્ક્રિપ્ટ્સ અપડેટ કરો
- આ રીતે ટેસ્ટ ચલાવો:
npm test
એક સરળ ટેસ્ટ લખવો:
sum.js બનાવો: function sum(a, b) { return a + b; } module.exports = sum;
sum.test.js બનાવો: const sum = require("./sum"); test("adds two numbers", () => { expect(sum(2, 3)).toBe(5); });
આવશ્યક Jest ટૂલ્સ:
- Assertions: કિંમતો તપાસવા માટે
expect()અનેtoBe()નો ઉપયોગ કરો. - Objects: ઓબ્જેક્ટ્સ અથવા એરેની સરખામણી કરવા માટે
toEqual()નો ઉપયોગ કરો. - Organization: સંબંધિત ટેસ્ટના જૂથ બનાવવા માટે
describe()નો ઉપયોગ કરો. - Async: Jest
awaitનો ઉપયોગ કરીને async ફંક્શન્સને કુદરતી રીતે હેન્ડલ કરે છે. - Mocks: ફંક્શન્સને સિમ્યુલેટ કરવા માટે
jest.fn()નો ઉપયોગ કરો. આ રીઅલ API કોલ્સ અથવા ડેટાબેઝ હિટ્સ ટાળીને ટેસ્ટને ઝડપી રાખે છે. - Hooks: ટેસ્ટ ડેટા સેટઅપ કરવા અથવા ક્લીનઅપ કરવા માટે
beforeEach()અનેafterEach()નો ઉપયોગ કરો.
તમારી સફળતા માપો:
તમારો કવરેજ રિપોર્ટ જોવા માટે npx jest --coverage ચલાવો. આ દર્શાવે છે કે તમારા કોડના કયા ભાગોમાં ટેસ્ટિંગનો અભાવ છે.
APIs ટેસ્ટિંગ:
API એન્ડપોઈન્ટ્સ ટેસ્ટ કરવા માટે Supertest નો ઉપયોગ કરો. તમે રીઅલ સર્વર શરૂ કર્યા વિના સ્ટેટસ કોડ્સ તપાસી શકો છો.
Snapshot Testing:
React માં matchSnapshot() નો ઉપયોગ કરો. આ સેવ કરેલા વર્ઝન સાથે વર્તમાન રેન્ડર્સની સરખામણી કરીને અણધારી UI ફેરફારો શોધવામાં મદદ કરે છે.
શ્રેષ્ઠ પદ્ધતિઓ (Best practices):
- પરિણામોનું વર્ણન કરતા ટેસ્ટ લખો.
- આંતરિક કોડ સ્ટ્રક્ચરનું ટેસ્ટિંગ કરવાનું ટાળો.
- યુનિટ ટેસ્ટમાં રીઅલ ડેટાબેઝથી દૂર રહો.
- અર્થપૂર્ણ કવરેજ પર ધ્યાન કેન્દ્રિત કરો.
Jest માં માસ્ટરી મેળવવાથી તમને વિશ્વસનીય સોફ્ટવેર બનાવવામાં મદદ મળે છે.