Integration Testing Menggunakan NUnit dan NDbUnit

Posted by Kamarudin • 1 minute read • Comments

Melanjutkan pembahasan tentang Integration Testing Menggunakan NUnit, di mana pada postingan sebelumnya kita menggunakan contoh kasus integration testing pada pengembangan aplikasi database, sehingga perlu kita tes apakah kode program yang kita buat dapat berinteraksi dengan database sesuai harapan atau tidak.

Untuk method CRUD dan unit testingnya masih menggunakan contoh yang sama dengan postingan sebelumnya.

Contoh method CRUD

Contoh Unit Testing

Sebagai pengingat untuk melakukan integration testing pada aplikasi database, kita harus menyiapkan data untuk tesnya terlebih dulu yaitu dengan meng-INSERT-kan beberapa data yang sesuai dengan kondisi yang kita set pada unit testing. Cara manual sudah kita lakukan pada postingan sebelumnya, dan untuk postingan kali ini kita akan menggunakan library tambahan yang disebut dengan NDbUnit. Dengan NDbUnit kita dapat me-reset kondisi database sesuai keinginan setiap kali tes akan dijalankan. Me-reset di sini maksudnya NDbUnit akan mengosongkan isi database terlebih dulu kemudian mengisikan data tesnya berdasarkan data yang sudah kita siapkan dalam format XML. Jadi pastikan kita tidak menggunakan database production pada saat menjalankan NDbUnit.

Menggunakan NDbUnit

NDbUnit bisa dengan mudah kita tambahkan melalui NuGet. Ada banyak pilihan library NDbUnit, disesuaikan dengan database yang kita gunakan. Untuk contoh di sini saya menggunakan NDbUnit.SqlClient untuk database SQL Server.

Setelah menambahkan library NDbUnit, langkah berikutnya adalah menambahkan file .NET dataset schema definition (xsd) untuk setiap tabel yang akan di tes. Contoh kita punya tabel Pegawai dengan struktur seperti berikut:

Kemudian kita tinggal buatkan file.NET dataset schema definition (xsd) sesuai dengan struktur tabel di atas.

Berikutnya kita tambahkan file XML yang berisi data Pegawai yang akan di-INSERT-kan secara otomatis ke dalam database oleh NDbUnit.

Terakhir kita tambahkan method ResetDatabase pada class PegawaiRepositoryTest, kemudian kita panggil di method Init

Nah sekarang kita coba jalankan unit testingnya, tapi sebelumnya kita cek dulu isi dari tabel Pegawai.

Masih kosong kan? Coba kita jalankan unit testingnya

Yup unit testingnya langsung berhasil, sekarang kita cek lagi isi dari tabel Pegawai

Nah sudah ada isinya kan? Ini berarti NDbUnit sukses menjalankan misinya untuk mengisikan data Pegawai berdasarkan file Pegawai.xml yang sudah kita buat pada langkah-langkah sebelumnya, sebelum unit testingnya dijalankan.

Selamat MENCOBA :blush:

Comments