vitest for TypeScript: पूर्ण गाइड
vitest एक आधुनिक, तेज़ और शक्तिशाली यूनिट टेस्टिंग फ्रेमवर्क है, जिसे विशेष रूप से TypeScript और JavaScript इकोसिस्टम के लिए डिज़ाइन किया गया है। यह Jest का सीधा विकल्प है, लेकिन इसमें स्पीड और Vite के लिए नेटिव सपोर्ट पर फोकस किया गया है। अगर आप अपने प्रोजेक्ट के लिए Vite का उपयोग करते हैं, तो vitest एक आदर्श विकल्प है, क्योंकि यह आपके मुख्य बिल्ड टूल के समान प्लगइन और कॉन्फ़िगरेशन का उपयोग करता है।
vitest की आवश्यकता क्यों है? सबसे पहले, यह esbuild का उपयोग करके ट्रांसपाइलेशन और ESM (ECMAScript Modules) के लिए नेटिव सपोर्ट के कारण अविश्वसनीय रूप से तेज़ है। दूसरा, यह Jest के साथ संगत एक समृद्ध API प्रदान करता है, जिससे माइग्रेशन आसान हो जाता है। तीसरा, vitest बिना किसी अतिरिक्त पैकेज के TypeScript, JSX, mocking, coverage और snapshot-टेस्टिंग के लिए बिल्ट-इन सपोर्ट प्रदान करता है। यह इसे छोटे प्रोजेक्ट से लेकर बड़े एंटरप्राइज एप्लिकेशन तक के लिए एक आदर्श टूल बनाता है।
इस शैक्षिक वेबसाइट PythonLib पर, हम आपको दिखाएंगे कि TypeScript कोड को टेस्ट करने के लिए vitest का उपयोग कैसे करें। आप सीखेंगे कि लाइब्रेरी को कैसे इंस्टॉल करें, पहले टेस्ट कैसे लिखें, मुख्य तरीकों में महारत हासिल करें और सामान्य गलतियों से कैसे बचें। इस लेख के अंत तक, आप अपने प्रोजेक्ट्स में आत्मविश्वास से vitest का उपयोग कर पाएंगे।
इंस्टॉलेशन
vitest को npm या yarn के माध्यम से इंस्टॉल किया जाता है। TypeScript प्रोजेक्ट के लिए, आपको TypeScript और Node.js के लिए टाइप्स (यदि आप सर्वर-साइड कोड टेस्ट कर रहे हैं) भी इंस्टॉल करने होंगे।
npm install -D vitest typescript @types/node
यदि आप yarn का उपयोग करते हैं:
yarn add -D vitest typescript @types/node
इंस्टॉलेशन के बाद, package.json में एक स्क्रिप्ट जोड़ें:
{
"scripts": {
"test": "vitest",
"test:run": "vitest run"
}
}
vitest कमांड वॉच मोड में टेस्ट चलाता है (बदलाव होने पर ऑटोमैटिक रीस्टार्ट), जबकि vitest run एक बार टेस्ट चलाता है।
त्वरित शुरुआत
एक सरल फंक्शन के साथ sum.ts फ़ाइल बनाएं:
// sum.ts
export function sum(a: number, b: number): number {
return a + b;
}
अब एक टेस्ट फ़ाइल sum.test.ts बनाएं:
// sum.test.ts
import { describe, it, expect } from 'vitest';
import { sum } from './sum';
describe('sum function', () => {
it('should add two numbers correctly', () => {
expect(sum(2, 3)).toBe(5);
});
it('should handle negative numbers', () => {
expect(sum(-1, -2)).toBe(-3);
});
});
टेस्ट चलाएं:
npm run test
आपको टेस्ट पास होने का हरा संदेश दिखाई देगा। बधाई हो, आपने vitest पर अपना पहला टेस्ट लिख लिया है!
मुख्य तरीके और फंक्शन
vitest टेस्ट लिखने के लिए एक समृद्ध API प्रदान करता है। नीचे 8 प्रमुख तरीकों का विवरण और उदाहरण दिए गए हैं।
1. describe
सिग्नेचर: describe(name: string, fn: () => void): void
विवरण: संबंधित टेस्ट को एक ब्लॉक में समूहित करता है। पठनीयता में सुधार करता है और समूह पर हुक (beforeEach, afterEach) लागू करने की अनुमति देता है।
import { describe, it, expect } from 'vitest';
describe('Math operations', () => {
it('should add', () => {
expect(1 + 1).toBe(2);
});
it('should subtract', () => {
expect(5 - 3).toBe(2);
});
});
2. it / test
सिग्नेचर: it(name: string, fn: () => void | Promise<void>, timeout?: number): void
विवरण: एक अलग टेस्ट को परिभाषित करता है। it और test दोनों का उपयोग किया जा सकता है - ये समानार्थी हैं।
import { it, expect } from 'vitest';
it('should return true