Mock vs Stub

Ezza Ardiala
PPLSalemba
Published in
2 min readMay 1, 2019

Dalam sebuah automatic testing pada pembuatan software, sering digunakan sebauh objek yang meniru objek pada tahapan production namun implementasinya lebih simpel. Ini digunakan untuk mereduksi kompleksitas dan mengecek kodingan secara independen. Objek tersebut dinamakan sebagai Test Double.

Jenis dari Test Double itu sendiri ada banyak, namun pada artikel ini hanya akan dijelaskan dua secara detil, yaitu mock dan stub.

Stub

Stub adalah sebuah objek yang menyimpan data yang sudah ditentukan dan memakainya saat dipanggil pada saat testing. Stub biasanya dipakai jika kita tidak ingin melibatkan objek yang nantinya akan mengembalikan sebuah real data.

Contoh dari penggunaan stub adalah jika ada objek yang nantinya akan mengambil data dari sebuah database pada saat dipanggil. Alih-alih menggunakan objek tersebut, kita dapat menggunakan sebuah stub pada saat testing.

Mock

Mock adalah sebuah objek yang meregister panggilan objek yang mereka terima. Pada sebuah test assertion kita dapat memverify bahwa semua action yang kita mau sudah terpanggil dengan mock.

Kita menggunakan mock ketika kita tidak ingin memanggil code pada tahap production atau ketika tidak ada cara yang mudah untuk memverify bahwa code sudah berjalan. Tidak ada hasil return atau cara yang mudah untuk melihat perubahan state pada aplikasi. Contohnya adalah fungsionalitas ketika mengirimkan sebuah email menggunakan sebuah service.

referensi: https://blog.pragmatists.com/test-doubles-fakes-mocks-and-stubs-1a7491dfa3da

--

--