Try using it in your preferred language.

English

  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar
translation

यह एक AI अनुवादित पोस्ट है।

제이의 블로그

NestJS में Prisma क्लाइंट मॉकिंग के लिए यूनिट टेस्टिंग

  • लेखन भाषा: कोरियाई
  • आधार देश: सभी देश country-flag

भाषा चुनें

  • हिन्दी
  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • Magyar

durumis AI द्वारा संक्षेपित पाठ

  • यूनिट टेस्टिंग के लिए बाहरी निर्भरताओं को हटाना महत्वपूर्ण है।
  • Prisma ORM के Prisma क्लाइंट को jest-mock-extended पैकेज का उपयोग करके आसानी से मॉक किया जा सकता है।
  • मॉकिंग के बाद, यूनिट टेस्ट लिखना आसान हो गया है।

एप्लिकेशन यूनिट टेस्ट को अलग-थलग करने की आवश्यकता होती है, इसलिए नेटवर्क I/O या डेटाबेस जैसी बाहरी निर्भरताएँ जो परीक्षण परिणामों को प्रभावित कर सकती हैं उन्हें हटा देना चाहिए।

इस बार, मैंने अपने खिलौना प्रोजेक्ट में Prisma ORM का उपयोग किया, और मैं Prisma Client को मॉक करने के बारे में एक सरल विधि खोजने और रिकॉर्ड करने के लिए इस लेख को लिख रहा हूँ।


jest-mock-extended पैकेज स्थापित करें

यह पैकेज Prisma के आधिकारिक दस्तावेज़ में अनुशंसित है, और इसे उपरोक्त कमांड का उपयोग करके स्थापित किया जा सकता है।


 Prisma Client मॉक करें

describe('UserService', () => {
let service: UserService;
let prismaMock: DeepMockProxy;

beforeEach(async () => {
    prismaMock = mockDeep();

    const module: TestingModule = await Test.createTestingModule({
      providers: [
        UserService,
        {
              provide: PrismaService,
              useValue: prismaMock,
        },
      ],
    }).compile();

    service = module.get(UserService);


 यूनिट टेस्ट उदाहरण कोड

  describe('create', () => {
    it('यदि उपयोगकर्ता सफलतापूर्वक बनाया जाता है, तो उपयोगकर्ता जानकारी वापस करनी चाहिए।', async () => {
        // Arrange
        const newUser = {
            email: 'test@test.com',
            password: 'test1234',
        };
        
          prismaMock.user.create.mockResolvedValue({
            id: 1,
            email: 'test@test.com',
            password: 'test1234',
          });

          // Act
          const result = await service.create(newUser);

          // Assert
          expect(result).toEqual({
            id: 1,
            email: 'test@test.com',
            password: 'test1234',
          });
    });

मॉकिंग के बाद, प्रकार का भी समर्थन किया जाता है, इसलिए यूनिट टेस्ट लिखना बहुत आसान है।

Jay
제이의 블로그
1인분이 목표인 초보 개발자
Jay
भौतिक डेटा मॉडलिंग भौतिक डेटा मॉडलिंग संबंधपरक डेटाबेस की तालिकाओं को वास्तविक उपयोग के लिए डिज़ाइन करने की प्रक्रिया है, जिसमें भंडारण स्थान दक्षता, डेटा विभाजन, इंडेक्स डिज़ाइन आदि शामिल हैं, जिसका उद्देश्य प्रदर्शन अनुकूलन है। धीमी क्वेरी विश्लेषण, इंडेक्स उपयोग, कैशे अन

9 अप्रैल 2024

कैनबन बोर्ड प्रोजेक्ट 1 अवधारणात्मक डेटा मॉडलिंग वांटेड बैकएंड इंटर्नशिप असाइनमेंट था, जो कि रिलेशनल डेटा मॉडलिंग अभ्यास के उद्देश्य से फिर से लागू किया गया था, कैनबन बोर्ड प्रोजेक्ट को अवधारणात्मक डेटा मॉडलिंग के साथ किया गया था। एंटिटी सेपरेशन, आइडेंटिफायर परिभाषा, रिश्तों की पहचान आदि प्रक्रियाओं से

9 अप्रैल 2024

रिलेशनल डेटा मॉडलिंग रिलेशनल डेटा मॉडलिंग वास्तविक दुनिया की जानकारी को टेबल और डेटा में विभाजित करने की प्रक्रिया है, जो आवश्यकता विश्लेषण, अवधारणात्मक डेटा मॉडलिंग, तार्किक डेटा मॉडलिंग, भौतिक डेटा मॉडलिंग के चरणों से गुजरती है। कौवे के पैर संकेतन का उपयोग करके ईआरडी के माध

8 अप्रैल 2024

PG संबद्धता को तेजी से आगे बढ़ाने के लिए 4 टिप्स PG संबद्धता मूल्यांकन में 2-3 सप्ताह लगते हैं, और मूल्यांकन में देरी के मुख्य कारणों में सेवा निर्माण की कमी, भुगतान प्रक्रिया की कमी, आवश्यक दस्तावेजों की तैयारी में देरी आदि शामिल हैं। ऑनलाइन मॉल विकास, भुगतान मॉड्यूल कार्यान्वयन, आवश्यक दस्तावेजों की अ
부트페이
부트페이
부트페이
부트페이

22 मार्च 2024

1 व्यक्ति ऐप डेवलपमेंट के लिए किन परीक्षणों को चलाना चाहिए? ऐप डेवलपमेंट में टेस्ट प्राथमिकताओं को स्थापित करने और एक कुशल टेस्ट रणनीति तैयार करने के तरीके के बारे में जानें। लेखक, मानव परीक्षण, एकीकरण परीक्षण, यूनिट परीक्षण, स्वीकृति/विजेट परीक्षण क्रमशः प्राथमिकता क्रम में और समय दक्षता पर प्रकाश डालते हैं। 1-व्
Alien Story
Alien Story
Alien Story
Alien Story
Alien Story

16 मई 2024

[गैर-मुख्य, डेवलपर के रूप में जीवित रहना] 16. नौसिखिए डेवलपर पोर्टफोलियो निर्माण युक्तियाँ नौसिखिए डेवलपर (विशेष रूप से गैर-मुख्य) को पोर्टफोलियो बनाते समय तकनीक के साथ-साथ विकसित सेवाओं या कार्यों को स्पष्ट रूप से बताना चाहिए। उदाहरण के लिए, "रोजगार खोजने वालों के लिए समुदाय" परियोजना के लिए, प्रश्नोत्तर बोर्ड, चयन प्रणाली, क्रॉलिंग बॉट विकास
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

3 अप्रैल 2024

[गैर-प्रमुख, डेवलपर के रूप में जीवित रहना] 14. नौसिखिए डेवलपर द्वारा अक्सर पूछे जाने वाले तकनीकी साक्षात्कार सामग्री का सारांश नौसिखिए डेवलपर के लिए तकनीकी साक्षात्कार की तैयारी के लिए एक मार्गदर्शिका। मुख्य मेमोरी क्षेत्र, डेटा संरचना, RDBMS और NoSQL, प्रक्रियात्मक और ऑब्जेक्ट-ओरिएंटेड, ओवरराइडिंग और ओवरलोडिंग, पेज रिप्लेसमेंट एल्गोरिदम, प्रक्रिया और थ्रेड, OSI 7 लेयर, TCP और UD
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

3 अप्रैल 2024

[समांतरता] परमाणु संचालन: मेमोरी फेंस और मेमोरी ऑर्डरिंग परमाणु संचालन में मेमोरी क्रम पर विचार करना समवर्ती प्रसंस्करण के लिए आवश्यक है। सीपीयू अनुकूलन के कारण निर्देश क्रम में बदलाव हो सकता है, और यह समवर्ती वातावरण में समस्याएं पैदा कर सकता है। मेमोरी फेंस और ऑर्डरिंग विकल्पों का उपयोग करके इन समस्याओं को हल
곽경직
곽경직
곽경직
곽경직
곽경직

12 अप्रैल 2024

रस्ट से एक शानदार सीएलआई बनाना यह लेख रस्ट में सीएलआई एप्लीकेशन बनाने की प्रक्रिया की व्याख्या करता है। क्लैप और रटाटुई लाइब्रेरी का उपयोग करके, हम एक सीएलआई प्रोग्राम बनाएंगे जिसमें लॉगिन और लॉगआउट फीचर होंगे। इस लेख में रस्ट-आधारित सीएलआई विकास की पूरी प्रक्रिया को शामिल किया गया है
곽경직
곽경직
곽경직
곽경직
곽경직

13 मार्च 2024