7 poin oleh tothefullest08 2025-03-23 | Belum ada komentar. | Bagikan ke WhatsApp

1. Ringkasan

  • Berbagi cara membangun unit test dengan pendekatan Sociable Test (terhubung ke DB nyata)
  • ORM seperti TypeORM memiliki masalah keamanan tipe, sehingga pengujian dengan DB nyata diperlukan

2. Solitary Test vs Sociable Test

  • Perbandingan
    • Solitary Test menguji secara independen dengan mengganti dependensi menggunakan mock (cepat, tetapi bisa berbeda dari lingkungan nyata)
    • Sociable Test menguji bersama dependensi eksternal nyata (DB) sehingga dapat memperoleh keandalan lebih tinggi (lebih lambat, tetapi bisa menemukan masalah realistis lebih awal)
  • Keterbatasan Solitary Test
    • Dengan mocking, sulit menemukan secara sempurna masalah interaksi dengan DB nyata
    • Masalah pemeriksaan tipe di TypeORM dapat menyebabkan runtime error
  • Kebutuhan akan Sociable Test
    • Dengan integrasi ke DB nyata, masalah query kompleks, transaksi, dan pengaturan relasi dapat diverifikasi
    • Menyiapkan database pengujian untuk menjalankan uji isolasi data berbasis transaksi
  • Kelebihan dan hal yang perlu diperhatikan pada DB Sociable Test
    • Kelebihan: pengujian lebih andal, masalah terkait ORM terdeteksi lebih awal, ketidaksesuaian skema dapat diperiksa
    • Perhatian: kecepatan pengujian menurun, pengaturan lingkungan lebih kompleks, perlu manajemen transaksi

3. Implementasi pengujian terhubung DB di NestJS

  • Konfigurasi
    • Mengatur koneksi ke test DB menggunakan MySQL
    • Memanfaatkan transaksi untuk me-rollback perubahan pada setiap test
  • Memanfaatkan lifecycle framework pengujian Jest
    • Menggunakan beforeAll / beforeEach / afterEach / afterAll
    • Menyiapkan inisialisasi dan koneksi DB, serta pengaturan mulai dan selesai transaksi

4. Kesimpulan

  • Saat menulis unit test, sebaiknya gunakan kombinasi Solitary Test dan Sociable Test secara tepat
  • Untuk mencegah masalah terkait ORM, Sociable Test dapat sangat membantu

Belum ada komentar.

Belum ada komentar.