Jest क्या है और TypeScript के लिए इसकी आवश्यकता क्यों है?
Jest एक शक्तिशाली और लोकप्रिय फ्रेमवर्क है जो JavaScript और TypeScript के परीक्षण के लिए Meta (Facebook) कंपनी द्वारा विकसित किया गया है। यह यूनिट-टेस्ट, इंटीग्रेशन टेस्ट और स्नैपशॉट-टेस्ट लिखने के लिए सब कुछ 'आउट ऑफ द बॉक्स' प्रदान करता है: assertion-लाइब्रेरी, मॉक, स्पाई, टाइमर और कोड कवरेज। TypeScript के लिए Jest विशेष रूप से मूल्यवान है, क्योंकि यह टेस्ट के निष्पादन के दौरान टाइप्स की जाँच करने की अनुमति देता है, जिससे कोड की विश्वसनीयता बढ़ती है। TypeScript के साथ Jest का उपयोग डेवलपर्स को तेजी से त्रुटियाँ खोजने, आत्मविश्वास के साथ कोड को रिफैक्टर करने और प्रोजेक्ट की उच्च गुणवत्ता बनाए रखने में मदद करता है।
स्थापना और कॉन्फ़िगरेशन
काम शुरू करने के लिए, npm या yarn के माध्यम से Jest और आवश्यक टाइप्स स्थापित करें:
npm install --save-dev jest @types/jest ts-jest typescriptफिर Jest कॉन्फ़िगरेशन को इनिशियलाइज़ करें:
npx ts-jest config:initयह TypeScript के लिए सेटिंग्स के साथ एक jest.config.js फ़ाइल बनाएगा। सुनिश्चित करें कि tsconfig.json में "module": "commonjs" सेट है या ESM के लिए ts-node का उपयोग करें।
मुख्य कार्य
- describe और it/test — टेस्ट को समूहित करना और लिखना।
- expect — कई मैचर्स (toBe, toEqual, toContain, toThrow आदि) के साथ assertion-फ़ंक्शन।
- beforeEach / afterEach — वातावरण तैयार करने और साफ करने के लिए हुक।
- jest.mock — मॉड्यूल का स्वचालित मॉकिंग।
- jest.spyOn — फ़ंक्शन कॉल पर नज़र रखना।
- Snapshot-टेस्टिंग — घटकों के आउटपुट की तुलना करना।
- कोड कवरेज — अंतर्निहित उपयोगिता
--coverage।
TypeScript पर कोड उदाहरण
// math.tsexport const add = (a: number, b: number): number => a + b;export const divide = (a: number, b: number): number => { if (b === 0) throw new Error('Division by zero'); return a / b;};
// math.test.tsimport { add, divide } from './math';
describe('Math functions', () => { test('adds two numbers correctly', () => { expect(add(2, 3)).toBe(5); expect(add(-1, 1)).toBe(0); });
test('throws error when dividing by zero', () => { expect(() => divide(10, 0)).toThrow('Division by zero'); });
test('divides correctly', () => { expect(divide(10, 2)).toBe(5); expect(divide(9, 3)).toBeCloseTo(3); });});TypeScript के साथ Jest का उपयोग कब करें?
- TypeScript पर कोई भी प्रोजेक्ट — छोटी लाइब्रेरी से लेकर बड़े एप्लिकेशन तक।
- TDD के साथ विकास — कार्यान्वयन से पहले टेस्ट लिखने के लिए Jest उपयुक्त है।
- रिफैक्टरिंग — यह सुनिश्चित करने के लिए कि बदलावों ने मौजूदा लॉजिक को नहीं तोड़ा है।
- CI/CD पाइपलाइन — तेजी से टेस्ट चलाना और कवरेज की जाँच करना।
- React-घटकों का परीक्षण — @testing-library/react के साथ।
Jest, TypeScript के परीक्षण के लिए डी-फैक्टो मानक है, इसकी सरल सेटअप, समृद्ध API और आधुनिक टूल्स के साथ उत्कृष्ट एकीकरण के कारण।
```