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

Ini adalah postingan yang diterjemahkan oleh AI.

제이의 블로그

Membuat Mock Prisma Client untuk Unit Testing di NestJS

  • Bahasa penulisan: Bahasa Korea
  • Negara referensi: Semua negara country-flag

Pilih Bahasa

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

Teks yang dirangkum oleh AI durumis

  • Melepaskan dependensi eksternal sangat penting untuk unit testing.
  • Anda dapat dengan mudah membuat mock Prisma Client Prisma ORM dengan menggunakan paket jest-mock-extended.
  • Menulis unit test menjadi lebih mudah setelah membuat mock.

Secara umum, pengujian unit aplikasi dilakukan dalam kondisi terisolasi, jadi sebaiknya hilangkan ketergantungan eksternal seperti I/O jaringan atau basis data yang dapat memengaruhi hasil pengujian.

Dalam proyek mainan ini, saya menggunakan Prisma ORM, jadi saya akan membuat catatan tentang cara sederhana untuk me-mock Prisma Client untuk pengujian unit.


Instal paket jest-mock-extended

Paket yang direkomendasikan di dokumentasi resmi Prisma dapat diinstal menggunakan perintah di atas.


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


Contoh kode pengujian unit

  describe('create', () => {
    it('Harus mengembalikan informasi pengguna jika pembuatan pengguna berhasil.', 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',
          });
    });

Setelah mocking, tipe data juga didukung, sehingga penulisan pengujian unit menjadi sangat mudah.

Jay
제이의 블로그
1인분이 목표인 초보 개발자
Jay
Pemodelan Data Konseptual Proyek Kanbanboard 1 Proyek Kanbanboard, yang merupakan tugas magang Backend di Wanted, telah diimplementasikan kembali untuk latihan pemodelan data relasional, dan pemodelan data konseptual dilakukan. Melalui proses seperti pemisahan entitas, definisi pengidentifikasi, dan i

9 April 2024

Pemodelan Data Relasional Pemodelan data relasional adalah proses pemisahan informasi dunia nyata menjadi tabel dan data, yang melibatkan tahapan analisis kebutuhan, pemodelan data konseptual, pemodelan data logis, dan pemodelan data fisik. ERD menggunakan notasi kaki gagak diguna

8 April 2024

Pemodelan Data Fisik Pemodelan data fisik didasarkan pada pemodelan data logis dan berfokus pada peningkatan performa seperti efisiensi penyimpanan, partisi objek, dan optimasi indeks.

9 April 2024

Pengembangan aplikasi 1 orang, tes apa yang harus dilakukan? Pelajari cara menentukan prioritas pengujian dan menyusun strategi pengujian yang efisien dalam pengembangan aplikasi. Penulis memprioritaskan pengujian manusia, pengujian integrasi, pengujian unit, dan pengujian penerimaan/widget secara berurutan, dengan
Alien Story
Alien Story
Alien Story
Alien Story
Alien Story

16 Mei 2024

Pembaruan Operasional 2024.02.02 (Jumat) Tidak ada pratinjau untuk durumis AI.
durumis-release
durumis-release
durumis-release
durumis-release

2 Februari 2024

Kartu Permainan Witcher, Penjelasan Istilah Gwent Witcher Gwent adalah permainan kartu strategi gratis untuk penggemar novel fantasi, film, dan game. Terdiri dari berbagai kartu seperti unit, jebakan, mantra, dan taktik, pertempuran dan pengelolaan kartu Anda adalah kunci. Memberikan pengalaman baru di m
길리
길리
길리
길리

7 April 2024

[Efektif Java] Item 5. Gunakan Injeksi Ketergantungan, Bukan Menentukan Sumber Daya Jika kelas bergantung pada sumber daya eksternal, sebaiknya jangan gunakan singleton dan kelas utilitas statis. Injeksi ketergantungan dapat meningkatkan fleksibilitas, kemampuan penggunaan kembali, dan kemampuan pengujian kelas, dan pola metode pabrik da
제이온
제이온
제이온
제이온

28 April 2024

Alat kolaborasi, Slack: Cara merespons emoji dengan cepat Pelajari cara merespons dengan cepat menggunakan emoji di Slack. Anda dapat menggunakan emoji seperti "terbaca", "selesai", "terima kasih" untuk memberikan tanggapan cepat terhadap pesan, dan Anda dapat menggunakan pengaturan "respons satu klik" untuk kem
여행가고싶은블로거지만여행에대해다루진않을수있어요
여행가고싶은블로거지만여행에대해다루진않을수있어요
Gambar merespons dengan emoji cepat di Slack
여행가고싶은블로거지만여행에대해다루진않을수있어요
여행가고싶은블로거지만여행에대해다루진않을수있어요

4 Maret 2024

[Efektif Java] Item 3. Jamin Singleton dengan Konstruktor Pribadi atau Tipe Enum Artikel ini memperkenalkan tiga cara untuk mengimplementasikan pola singleton dalam Java (anggota publik statis, metode pabrik statis, tipe enum) dan menjelaskan pro dan kontra dari setiap metode serta hal-hal yang perlu diperhatikan saat serialisasi. Men
제이온
제이온
제이온
제이온

27 April 2024