TypeScript Academy · पाठ

TypeScript में मॉड्यूल और फ़ंक्शन का मॉक बनाना

सही प्रकार-कास्टिंग रणनीतियों के साथ jest.mock का उपयोग करें

पाठ 3, कुल 4 में से13 चरण

TypeScript में मॉड्यूल और फ़ंक्शन का मॉक बनाना, CoddyKit पर TypeScript Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह TypeScript Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। TypeScript Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

स्वागत है

TypeScript के साथ Jest मॉड्यूल मॉकिंग में any-प्रकार वाले मॉक से बचने के लिए सही प्रकार-कास्टिंग रणनीतियों की आवश्यकता होती है।

प्रकारों के साथ jest.fn()

jest मॉक फ़ंक्शन का प्रकार उसके हस्ताक्षर के साथ निर्धारित करें।
const mockFn = jest.fn<number, [string]>();
mockFn('hello'); // typed call

jest.mock() और TypeScript

jest.mock डिफ़ॉल्ट रूप से प्रकार-रहित होता है। प्रकार-सुरक्षित पहुँच के लिए इसे jest.MockedFunction में कास्ट करें।
jest.mock('./api');
import { fetchUser } from './api';
const mockFetch = fetchUser as jest.MockedFunction<typeof fetchUser>;

jest.mocked() सहायक

Jest 27+ मॉक किए गए मॉड्यूल का प्रकार साफ़-सुथरे ढंग से निर्धारित करने के लिए jest.mocked() प्रदान करता है।
jest.mock('./api');
import { fetchUser } from './api';
const mockFetch = jest.mocked(fetchUser);
mockFetch.mockResolvedValue({ id: 1, name: 'Alice' });

वापसी मानों को मॉक करना

mockReturnValue और mockResolvedValue के प्रकार सही ढंग से निर्धारित करें।
mockFetch.mockResolvedValue({ id: 1, name: 'Alice' }); // must match User type

विधियों पर जासूसी करना

प्रकार-सुरक्षित विधि-जासूसी के लिए jest.spyOn का उपयोग करें।
const spy = jest.spyOn(userService, 'findUser');
spy.mockResolvedValue(mockUser);

पूरे मॉड्यूल को मॉक करना

मैन्युअल फ़ैक्टरी फ़ंक्शन के साथ पूरे मॉड्यूल को मॉक करें।
jest.mock('./db', () => ({
  findUser: jest.fn(),
  createUser: jest.fn(),
}));

स्वचालित मॉकिंग

jest.createMockFromModule मौजूदा मॉड्यूल से एक मॉक बनाता है।
const mockDb = jest.createMockFromModule<typeof import('./db')>('./db');

आंशिक मॉक

मॉड्यूल की केवल कुछ विधियों को मॉक करें।
jest.mock('./email', () => ({ ...jest.requireActual('./email'), sendEmail: jest.fn() }));

मॉक साफ़ करना

स्थिति के रिसाव को रोकने के लिए परीक्षणों के बीच मॉक रीसेट करें।
afterEach(() => { jest.clearAllMocks(); });
// Or globally: jest.config clearMocks: true

प्रकार-सुरक्षित मॉक ऑब्जेक्ट

निर्भरता इंजेक्शन परीक्षणों के लिए प्रकार-सुरक्षित मॉक ऑब्जेक्ट बनाएँ।
const mockRepo: jest.Mocked<UserRepository> = {
  findById: jest.fn(),
  save: jest.fn(),
  delete: jest.fn(),
};

त्वरित जाँच

TypeScript में `jest.mocked(fn)` क्या करता है?

पुनरावलोकन

TypeScript में मॉड्यूल और फ़ंक्शन को मॉक करना: आपने मुख्य अवधारणाओं और तरीकों में महारत हासिल कर ली है।
शुरुआत निःशुल्क

एआई शिक्षक के साथ TypeScript सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
101
पाठ
352

अक्सर पूछे जाने वाले प्रश्न

क्या “TypeScript में मॉड्यूल और फ़ंक्शन का मॉक बनाना” पाठ निःशुल्क है?

हाँ—“TypeScript में मॉड्यूल और फ़ंक्शन का मॉक बनाना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और TypeScript Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। TypeScript Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“TypeScript में मॉड्यूल और फ़ंक्शन का मॉक बनाना” में मैं क्या सीखूँगा?

सही प्रकार-कास्टिंग रणनीतियों के साथ jest.mock का उपयोग करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ TypeScript Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या TypeScript Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर TypeScript Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“TypeScript में मॉड्यूल और फ़ंक्शन का मॉक बनाना” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस TypeScript Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर TypeScript Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. ts-jest के साथ TypeScript के लिए Jest सेटअप
  2. प्रकार-सुरक्षित यूनिट टेस्ट लिखना
  3. TypeScript में मॉड्यूल और फ़ंक्शन का मॉक बनाना
  4. expectTypeOf और tsd से प्रकार परीक्षण
← TypeScript Academy पर वापस जाएँ