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

Ez egy AI által fordított bejegyzés.

제이의 블로그

Egységtesztelés a Prisma Clienttel a NestJS-ben

  • Írás nyelve: Koreai
  • Referencia ország: Minden ország country-flag

Válasszon nyelvet

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

A durumis AI által összefoglalt szöveg

  • A külső függőségek eltávolítása fontos az egységteszteléshez.
  • A Prisma ORM Prisma Client-jét egyszerűen mockolhatja a jest-mock-extended csomag használatával.
  • A mockolás után az egységtesztek írása egyszerűbbé vált.

Az alkalmazás egységtesztjének elvégzése során az a cél, hogy elkülönítve végezzük, ezért célszerű eltávolítani az olyan külső függőségeket, mint a hálózati I/O vagy az adatbázis, amelyek befolyásolhatják a teszt eredményét.

Ebben a cikkben bemutatjuk, hogyan lehet egyszerűen mockolni a Prisma Client-et egységtesztek során, mivel a jelenlegi játékprojektünkben a Prisma ORM-t használjuk.


jest-mock-extended csomag telepítése

A Prisma hivatalos dokumentációjában is ajánlott csomagot a fenti paranccsal telepíthetjük.


Prisma Client mockolása

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);


 Egységteszt kód példa

  describe('create', () => {
    it('Sikeres felhasználó létrehozás esetén vissza kell adnia a felhasználói adatokat.', async () => {
        // Előkészítés
        const newUser = {
            email: 'test@test.com',
            password: 'test1234',
        };
        
          prismaMock.user.create.mockResolvedValue({
            id: 1,
            email: 'test@test.com',
            password: 'test1234',
          });

          // Művelet
          const result = await service.create(newUser);

          // Állítás
          expect(result).toEqual({
            id: 1,
            email: 'test@test.com',
            password: 'test1234',
          });
    });

A mockolás után a típusok támogatása is elérhetővé válik, ami megkönnyíti az egységtesztek írását.

Jay
제이의 블로그
1인분이 목표인 초보 개발자
Jay
Relációs adatmodell A relációs adatmodellezés a valós világ információinak táblákká és adatokká bontásának folyamata, amely a követelmények elemzésének, a koncepcionális adatmodellezésnek, a logikai adatmodellezésnek és a fizikai adatmodellezésnek a lépésein keresztül zajlik

2024. április 8.

Kanban tábla projekt 1. Konceptuális adatmodellezés A Wanted backend gyakornoki feladatként kapott Kanban tábla projektet újra implementáltam a relációs adatmodellezési gyakorlat céljából, és elvégeztem a konceptuális adatmodellezést. Az entitások elkülönítése, az azonosítók meghatározása, a kapcsolatok me

2024. április 9.

Fizikai adatmodellezés A fizikai adatmodellezés a relációs adatbázisok tábláinak valódi felhasználásra való tervezésének folyamata, a tárolóterület hatékonyságát, az adat-partícionálást, az indextervezést és egyebeket figyelembe véve a teljesítmény optimalizálását célozva. A la

2024. április 9.

Hogyan kell tesztelni egy egyéni alkalmazás fejlesztést? Ismerje meg, hogyan kell meghatározni az alkalmazásfejlesztés tesztelésének prioritásait, és hogyan kell hatékony tesztelési stratégiát kidolgozni. A szerző a felhasználói tesztelést, az integrációs tesztelést, az egységtesztelést, az elfogadási/widget te
Alien Story
Alien Story
Alien Story
Alien Story
Alien Story

2024. május 16.

Szöveg teszt Nincs előnézet a durumis AI-hoz.
안민수
안민수
안민수
안민수

2024. április 29.

[Hatékony Java] 3. elem: Privát konstruktor vagy felsorolási típus használatával biztosítsd a szingletonságot A Java-ban a szingletonsablon háromféleképpen valósítható meg (közönséges statikus tag, statikus gyármetódus, felsorolási típus). Bemutatjuk ezeknek a módszereknek az előnyeit és hátrányait, valamint az arra vonatkozó figyelmeztetéseket, hogy mi történik,
제이온
제이온
제이온
제이온

2024. április 27.

[Next.js] Futási időbeli környezeti változó befecskendezés Ismerje meg a Next.js-ben a build idő után beállított környezeti változók beállításának módját. A cikk bemutatja a cross-env telepítését és a szkriptek módosítását, amelyeket a Windows felhasználók is könnyen követhetnek. A helyi, a dev, a qa és a prod kö
Sunrabbit
Sunrabbit
Sunrabbit
Sunrabbit

2024. március 20.

[Spring] @Async használatának módja Tudja meg, hogyan valósíthatja meg egyszerűen a Java aszinkron feldolgozást a Spring @Async használatával. Az @Async annotációval szinkron metódusokat aszinkronná konvertálhat, és a szálkészlet beállításával növelheti a hatékonyságot. A Future, Listenable
제이온
제이온
제이온
제이온

2024. április 25.

[ESG-vezetési oszlop] A vállalatok ISO, GRI, ENSZ Globális Szerződés. Nemzetközi szabványok Az ISO, GRI, ENSZ Globális Szerződés stb. nemzetközi tanúsítási szabványoknak való megfelelés módját és eljárását részletesen ismerteti, beleértve a szabványok megértését, a felkészülési folyamatot, a tényleges alkalmazási módszereket stb. Hasznos iránymu
NEWS FDN (다큐)
NEWS FDN (다큐)
Koncepcionális műalkotás, amely ábrázolja az ESG-menedzsment koncepcióját a vállalati környezetben - dpi1004.com
NEWS FDN (다큐)
NEWS FDN (다큐)

2024. április 21.