Teknik Mocking dan Stubbing demi Pengujian yang Lebih Spesifik

teknik-mocking-stubbing

Pengujian perangkat lunak yang efektif tak hanya soal menjalankan fungsi utama. Teknik mocking stubbing hadir sebagai solusi ketika Anda perlu menguji kode dalam kondisi yang lebih spesifik tanpa menunggu sistem backend aktif atau API eksternal siap. Kedua metode ini menawarkan jalan pintas pintar demi mempercepat proses pengembangan dan memastikan kualitas kode tetap konsisten.

Manfaat Teknik Mocking dan Stubbing dalam Proses Uji Unit

Kalau Anda pernah kesal karena pengujian gagal hanya karena layanan eksternal down, mocking dan stubbing akan jadi penyelamat. Keduanya memungkinkan Anda membuat versi palsu dari fungsi, objek, atau modul yang dibutuhkan agar proses uji tetap jalan lancar.

Teknik mocking stubbing juga memudahkan tim QA memfokuskan uji pada satu unit tanpa terganggu oleh kompleksitas sistem lain. Dengan begitu, Anda bisa lebih cepat menemukan kesalahan pada logika utama, tanpa dibayang-bayangi noise dari dependensi eksternal.

Mocking Meniru Perilaku Skenario Asli

Mocking digunakan ketika Anda ingin mensimulasikan perilaku asli dari objek nyata. Anda bisa mengatur bagaimana objek palsu ini bereaksi ketika dipanggil apakah akan mengembalikan nilai tertentu, memicu error, atau mencatat interaksi yang terjadi.

Contohnya, saat menguji fungsi yang mengirim email, Anda tak perlu benar-benar mengirim email. Anda cukup mock service tersebut agar tetap memberi respons “sukses”, seolah email telah dikirim, meskipun tidak ada email yang benar-benar meluncur.

Stubbing untuk Hasil Tetap dan Terprediksi

Stubbing biasanya lebih sederhana dibanding mocking. Fokusnya pada what you get, bukan how you got it. Ketika Anda tahu bahwa fungsi tertentu harus selalu mengembalikan nilai tertentu dalam konteks uji, Anda bisa stub respons tersebut.

Misalnya, stub service tanggal agar selalu mengembalikan 01-01-2025. Hal ini memastikan logika bisnis yang sensitif terhadap waktu tetap teruji tanpa ketergantungan pada waktu nyata.

Kapan Harus Menggunakan Mocking atau Stubbing?

Seringkali pertanyaan ini muncul: “Kapan saya pakai mock, kapan pakai stub?” Jawabannya bergantung pada tujuan pengujian Anda. Kalau fokus Anda adalah mengecek interaksi dan side effect, mocking lebih tepat. Tapi jika hanya butuh nilai tetap, stubbing jadi pilihan sederhana dan efektif.

Namun jangan kebablasan. Teknik mocking stubbing tidak cocok untuk semua skenario. Jika digunakan berlebihan, hasil pengujian bisa terlalu buatan dan tidak mencerminkan kondisi dunia nyata.

Tips Mengoptimalkan Mock dan Stub di Framework Modern

Dalam framework modern seperti Jest, Mocha, atau sinon.js, teknik ini bisa diimplementasikan dengan cepat dan bersih. Gunakan helper dan assertion library untuk memeriksa apakah fungsi telah dipanggil, berapa kali dipanggil, atau dengan argumen apa.

Hindari Over-Mocking di Setiap Pengujian

Terkadang keinginan untuk mengisolasi membuat Anda justru terjebak dalam pengujian yang tak realistis. Pastikan Anda tetap menjaga keseimbangan antara pengujian yang spesifik dan relevansi terhadap sistem nyata.

Kesimpulan

Teknik mocking stubbing adalah senjata ampuh bagi Anda yang ingin menjaga kualitas kode di tengah kompleksitas aplikasi modern. Dengan menggunakannya secara bijak, Anda bisa menciptakan lingkungan pengujian yang presisi, cepat, dan bebas dari gangguan eksternal. Tapi ingat, semua hal baik tetap butuh dosis yang tepat agar tidak menimbulkan efek samping di kemudian hari.