TypeScript टेस्टिंग: शुरुआती लोगों के लिए चरण-दर-चरण गाइड

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

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

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

TypeScript टेस्टिंग डरावनी नहीं, बल्कि फायदेमंद है

\n\n

आपने TypeScript में एक शानदार फंक्शन लिखा, प्रोजेक्ट चलाया – सब कुछ ठीक काम कर रहा है। एक हफ्ते बाद आपने एक नई फीचर जोड़ी, और पुराना लॉजिक टूट गया। परिचित लग रहा है? अगर हाँ, तो आपको तुरंत टेस्टिंग से दोस्ती करनी चाहिए। और डरने की कोई बात नहीं: टेस्ट कोई उबाऊ ज़रूरत नहीं हैं, बल्कि आपका निजी "बग डिटेक्टर" हैं जो 24/7 काम करता है।

\n\n

इस लेख में हम जानेंगे कि शुरुआती लोग TypeScript टेस्टिंग कहाँ से शुरू करें। आप सीखेंगे कि एनवायरनमेंट कैसे सेट करें, पहला unit-टेस्ट कैसे लिखें, और टाइप्स में कैसे न उलझें। कोई बेकार की बात नहीं – सिर्फ प्रैक्टिकल और रियल कोड उदाहरण।

\n\n

जब TypeScript पहले से सुरक्षित है, तो टेस्ट क्यों करें?

\n\n

TypeScript वास्तव में कंपाइलेशन के समय कई गलतियाँ पकड़ लेता है: गलत टाइप्स, गायब फील्ड्स, गलत आर्गुमेंट्स। लेकिन स्टैटिक टाइपिंग लॉजिकल गलतियों से नहीं बचाती। आपका फंक्शन कंपाइलेशन तो आसानी से पास कर सकता है, लेकिन गलत रिजल्ट दे सकता है। उदाहरण के लिए:

\n\n
function sum(a: number, b: number): number {\n  return a - b; // गलती! जोड़ने की जगह घटाव\n}
\n\n

TypeScript कोई शिकायत नहीं करेगा – टाइप्स सही हैं। लेकिन unit-टेस्ट तुरंत दिखा देगा कि sum(2, 2) 4 के बराबर नहीं है। इसलिए TypeScript टेस्टिंग किसी भी गंभीर प्रोजेक्ट के लिए एक ज़रूरत है, कोई शौक नहीं।

\n\n

चरण 1. टूल चुनें: शुरुआती के लिए Jest सबसे अच्छा दोस्त क्यों है

\n\n

बाजार में कई लोकप्रिय टेस्टिंग फ्रेमवर्क हैं: Mocha, Jasmine, Vitest, Jest। शुरुआती लोगों के लिए मैं जोरदार सुझाव देता हूँ Jest। क्यों?

\n\n
    \n
  • "आउट ऑफ द बॉक्स" काम करता है – लंबी सेटअप की ज़रूरत नहीं।
  • \n
  • बिल्ट-इन mock मैकेनिज्म और कोड कवरेज।
  • \n
  • ts-jest के ज़रिए TypeScript के लिए शानदार सपोर्ट।
  • \n
  • साफ-सुथरे एरर मैसेज।
  • \n
\n\n

चलिए आपके प्रोजेक्ट में Jest इंस्टॉल करते हैं। मान लेते हैं कि आपके पास TypeScript पहले से है। अगर नहीं है, तो एक नया प्रोजेक्ट बनाएँ:

\n\n
mkdir my-ts-project\ncd my-ts-project\nnpm init -y\nnpm install typescript jest @types/jest ts-jest --save-dev
\n\n

अब प्रोजेक्ट की रूट में jest.config.js फाइल बनाएँ:

\n\n
module.exports = {\n  preset: 'ts-jest',\n  testEnvironment: 'node',\n  roots: ['/src'],\n  testMatch: ['**/__tests__/**/*.ts', '**/?(*.)+(spec|test).ts'],\n};
\n\n

और package.json में एक स्क्रिप्ट जोड़ें:

\n\n
"scripts": {\n  "test": "jest",\n  "test:watch": "jest --watch"\n}
\n\n

हो गया! अब टेस्ट लिखने के लिए तैयार हैं।

\n\n

चरण 2. TypeScript में पहला टेस्ट लिखें

\n\n

src/math.ts फाइल में एक सरल फंक्शन बनाएँ:

\n\n
export function add(a: number, b: number): number {\n  return a + b;\n}\n\nexport function divide(a: number, b: number): number {\n  if (b === 0) {\n    throw new Error('शून्य से भाग देना मना है');\n  }\n  return a / b;\n}
\n\n

अब इसके लिए टेस्ट लिखें। src/__tests__/ फोल्डर बनाएँ और उसमें math.test.ts फाइल बनाएँ:

\n\n
import { add, divide } from '../math';\n\ndescribe('Math functions', () => {\n  test('दो संख्याओं को सही ढंग से जोड़ता है', () => {\n    expect(add(2, 3)).toBe(5);\n    expect(add(-1, 1)).toBe(0);\n    expect(add(0, 0)).toBe(0);\n  });\n\n  test('दो संख्याओं को विभाजित करता है', () => {\n    expect(divide(10, 2)).toBe(5);\n    expect(divide(9, 3)).toBe(3);\n  });\n\n  test('शून्य से भाग देने पर एरर फेंकता है', () => {\n    expect(() => divide(5, 0)).toThrow('शून्य से भाग देना मना है');\n  });\n});
\n\n

npm test चलाएँ और हरी रिपोर्ट देखें। बधाई हो – आपने अभी-अभी अपना पहला TypeScript unit-टेस्ट लिखा है!

\n\n

यहाँ क्या हुआ?

\n\n
    \n
  • describe – टेस्ट को एक लॉजिकल ग्रुप में जोड़ता है।
  • \n
  • test या it – एक अलग टेस्ट-केस।
  • \n
  • expect – एक एसर्शन जो जाँचता है
  • \n

ब्लॉग

पुस्तक अनुशंसाएँ