c

Strategi Pemrograman Komputer Terdepan

Strategi Pemrograman Komputer Terdepan : Satu hal yang pernah saya ulas sebelumnya adalah unit test. Menerapkan unit test sebenarnya adalah sesuatu yang saya lakukan kira-kira empat tahun dalam karir profesional saya sebagai programmer komputer.

Tindakan unik yang relatif mudah ini menghasilkan perubahan luar biasa pada kode yang saya buat. Perhitungan yang solid seperti “jumlah bug dalam kode” telah mengkonfirmasi bahwa konsep unit test telah melakukan tugas pembuatan kode program yang unggul. Sekarang untuk menjelaskan subjek tes unit, hari ini saya harus berbicara tentang mengejek.

Apa yang mengejek?

Istilah mengejek digunakan untuk menentukan proses membatasi kopling antara Objek Anda (terutama pada saat pengujian unit). Konsep ini memungkinkan kita untuk mengambil setiap Object yang berkolaborasi dan membentuknya (cukup sederhana) ke dalam konstruksi seperti shell yang dirancang untuk menghilangkan kopling. Misalnya, katakanlah kita memiliki objek UserService yang memungkinkan kita untuk menyimpan dan menghapus pengguna.

Kita harus menguji prosedur simpan dan hapus kita dan pastikan mereka selalu melakukan apa yang kita harapkan akan mereka lakukan… tetapi untuk menguji objek UserService, kita harus membuat instance dan menginisialisasi objek UserDao (sejak DAO ini objek akan melakukan operasi simpan/hapus).

Ini menyebabkan kerumitan karena pada titik ini kami tidak benar-benar menguji “unit”, kami memperluas jangkauan pengujian unit kami untuk memasukkan 2 objek. Ini membatalkan seluruh tujuan pengujian unit, jadi kita harus melakukan sesuatu tentang parodi ini!

Halo Mengejek.

Anda dapat ‘mengejek’ objek DAO yang memungkinkan objek UserService Anda berinteraksi dengan cangkang kosong DAO. UserService masih akan mampu memanggil semua fungsi. Dan Anda bahkan bisa menjadi mewah dan menyediakan pilihan nilai pengembalian dari prosedur yang di sebut. Ini memungkinkan Anda untuk memetakan dengan benar kasus penggunaan yang ingin Anda uji dalam objek UserService.

Satu-satunya peringatan di sini adalah bahwa ketika Anda mengejek sebuah Object, itu tidak semudah yang orang pikirkan. Beberapa komplikasi muncul ketika Objek Anda mendefinisikan metode pribadi atau memiliki metode statis/final. Untuk menghadapi situasi seperti ini, Anda harus menggunakan lebih dari sekadar kerangka dasar mengejek… jangan takut, saya akan menjelaskan apa yang saya gunakan sebentar lagi!

Jadi, secara keseluruhan, Anda akan memiliki kemampuan untuk menguji SATU unit tunggal kode komputer Anda secara akurat dan Anda masih dapat menjalankan semua pengujian Anda dengan kecepatan yang mengesankan. Kerangka kerja mengejek Secara pribadi saya telah mencoba baru-baru ini yang saya sarankan sangat meliputi:

– Mockito
– Powermock