Vitest के साथ TypeScript में परीक्षण

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें
```html

Vitest क्या है और इसकी आवश्यकता क्यों है?

Vitest Vite और TypeScript इकोसिस्टम पर केंद्रित एक आधुनिक unit-टेस्टिंग लाइब्रेरी है। इसे Jest के तेज़ विकल्प के रूप में बनाया गया है, लेकिन बिना किसी अतिरिक्त कॉन्फ़िगरेशन के TypeScript के लिए पूर्ण समर्थन 'आउट ऑफ़ द बॉक्स' प्रदान करता है। Vitest नेटिव TypeScript पार्सर और Vite की मॉड्यूल प्रणाली का उपयोग करता है, जो बड़े प्रोजेक्ट्स में भी टेस्ट को तुरंत चलाने योग्य बनाता है।

इंस्टॉलेशन

npm के माध्यम से अपने TypeScript प्रोजेक्ट में Vitest इंस्टॉल करें:

npm install -D vitest

इसके अतिरिक्त, यदि आप React या Vue का उपयोग कर रहे हैं, तो संबंधित उपयोगिताएँ इंस्टॉल करें:

npm install -D @testing-library/react @testing-library/jest-dom

मुख्य विशेषताएँ

  • गति: टेस्ट वर्कर्स का उपयोग करके समानांतर रूप से चलाए जाते हैं, जो Jest की तुलना में निष्पादन को 10 गुना तक तेज़ करता है।
  • TypeScript के साथ संगतता: इसे ts-jest या babel की आवश्यकता नहीं है - यह सीधे .ts और .tsx फ़ाइलों के साथ काम करता है।
  • अंतर्निहित मॉक और स्पाई: कोड को आइसोलेट करने के लिए vi.mock, vi.spyOn और vi.fn फ़ंक्शन।
  • Snapshot-टेस्टिंग: कंपोनेंट्स या डेटा के स्नैपशॉट को सेव और तुलना करने की क्षमता।
  • कवरेज: कोड कवरेज रिपोर्ट के लिए c8 या istanbul का अंतर्निहित समर्थन।

TypeScript पर कोड उदाहरण

एक सरल जोड़ फ़ंक्शन के लिए टेस्ट लिखते हैं:

// math.tsexport function add(a: number, b: number): number {  return a + b;}

// math.test.tsimport { describe, it, expect } from 'vitest';import { add } from './math';

describe('add function', () => { it('should add two positive numbers', () => { expect(add(2, 3)).toBe(5); });

it('should handle negative numbers', () => { expect(add(-1, 1)).toBe(0); });

it('should return zero for zero arguments', () => { expect(add(0, 0)).toBe(0); });});

टेस्ट चलाना:

npx vitest

Vitest स्वचालित रूप से .test.ts या .spec.ts एक्सटेंशन वाली सभी फ़ाइलों को ढूंढ लेगा।

कब उपयोग करें

Vitest निम्नलिखित के लिए आदर्श है:

  • Vite पर नए प्रोजेक्ट्स: बिना कॉन्फ़िगरेशन के तत्काल एकीकरण।
  • Jest से माइग्रेशन: Vitest का API समान है, जो संक्रमण को सरल बनाता है।
  • TypeScript लाइब्रेरीज़ का परीक्षण: डेकोरेटर, जेनेरिक और जटिल प्रकारों के लिए पूर्ण समर्थन।
  • CI/CD पाइपलाइन: उच्च निष्पादन गति स्वचालित बिल्ड में समय बचाती है।

Vitest से बचें यदि आपके प्रोजेक्ट को Node.js के पुराने संस्करणों (14 से नीचे) की आवश्यकता है या आप Vite के साथ असंगत विशिष्ट Jest प्लगइन्स का उपयोग कर रहे हैं।

निष्कर्ष

Vitest परीक्षण के लिए एक आधुनिक, तेज़ और TypeScript-अनुकूल उपकरण है। यह Jest की कई कमियों को दूर करता है, जैसे धीमी शुरुआत और TypeScript की जटिल सेटअप। यदि आप TypeScript के साथ काम करते हैं और विकास की गति को महत्व देते हैं, तो Vitest एक उत्कृष्ट विकल्प होगा।

```

अनुशंसाएँ