Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Bagaimana verifyzerointeractions berbeda dari metode verifikasi lain di mockito


Bagaimana verifyzerointeractions berbeda dari metode verifikasi lain di mockito


Dalam mockito, `verifyzerointeractions` adalah metode verifikasi khusus yang digunakan untuk memastikan bahwa tidak ada panggilan metode yang dilakukan pada objek yang diejek selama pengujian. Metode ini sangat penting untuk mempertahankan kemurnian tes unit dengan mencegah interaksi yang tidak diinginkan yang dapat menunjukkan kelemahan dalam logika atau dependensi yang tidak perlu.

Perbedaan dari metode verifikasi lainnya

1. Tujuan dan Perilaku:
- `verifyzerointeractions`: Metode ini memeriksa bahwa tidak ada panggilan metode yang dilakukan pada objek yang diejek. Jika ada panggilan metode yang terdeteksi, Mockito melempar pengecualian, menyebabkan tes gagal. Ini digunakan untuk menegaskan bahwa objek tiruan tetap tidak tersentuh selama eksekusi pengujian [1] [4].
- `Verifikasi`: Metode ini digunakan untuk memverifikasi bahwa panggilan metode tertentu terjadi seperti yang diharapkan. Hal ini memungkinkan Anda untuk memeriksa apakah suatu metode dipanggil dengan argumen spesifik dan dapat digunakan dengan berbagai mode verifikasi seperti `Times ()`, `ATLEAST ()`, dan `atmost ()` untuk menentukan jumlah doa [2] [7].

2. Mode Verifikasi:
- `verifyzerointeractions` tidak mendukung mode verifikasi. Ini hanya memeriksa tidak adanya interaksi apa pun.
- `Verifikasi` mendukung beberapa mode verifikasi, seperti` Times () `,` ATLEAST () `,` ATLEASTOnce () `, dan` atmost () `, memungkinkan Anda untuk menentukan berapa kali metode harus disebut [2] [7].

3. Urutan doa:
- `verifyzerointeractions` tidak menyangkut dirinya sendiri dengan urutan panggilan metode karena ia memeriksa tidak ada interaksi sama sekali.
- `Verifikasi` dapat digunakan dengan` inorder` untuk memverifikasi urutan invokasi metode pada objek tiruan. Ini berguna ketika urutan panggilan metode penting [2] [7].

4. Kasus Gunakan:
- `verifyzerointeractions` biasanya digunakan ketika Anda ingin memastikan bahwa objek tiruan tidak digunakan sama sekali dalam skenario pengujian. Ini membantu dalam mengisolasi unit yang diuji dan memastikan bahwa tidak ada efek samping yang terjadi karena interaksi yang tidak terduga [1] [4].
- `Verifikasi` digunakan dalam skenario di mana Anda perlu mengonfirmasi bahwa interaksi spesifik terjadi di antara objek. Sangat penting untuk menguji perilaku yang diharapkan dari suatu sistem yang diuji [2] [7].

5. Hubungan dengan `verifynomoreAnteractions`:
- `verifyzerointeractions` memeriksa bahwa tidak ada interaksi yang terjadi sama sekali.
- `VerifikasiNomoreActions` Memeriksa bahwa semua interaksi pada objek tiruan telah diverifikasi. Ini memastikan bahwa tidak ada interaksi yang tidak diverifikasi yang tersisa setelah menggunakan `verifikasi` untuk panggilan metode tertentu [3] [9].

Singkatnya, `verifyzerointeractions` adalah metode khusus yang berfokus pada memastikan tidak ada interaksi yang terjadi, sementara` verifikasi` lebih fleksibel, memungkinkan Anda untuk memeriksa interaksi tertentu dan frekuensinya. Kedua metode itu penting dalam pengujian unit dengan mockito, melayani tujuan berbeda tergantung pada skenario pengujian.

Kutipan:
[1] https://www.dhiwise.com/post/how-to-use-verifyzerointeractions-for-better-fliutter-tests
[2] https://www.dhiwise.com/post/mastering-unit-testing-a-completete-guide-to-mockito-verifikasi
[3.
[4] https://www.lambdatest.com/automation-testing-advisor/selenium/methods/org.mockito.mockito.verifyzerointeractions
[5] https://stackoverflow.com/questions/64239160/using-mockito-when-to-mock-and-verify-vs-mockito-verify
[6] https://www.javacodegeeks.com/2015/11/mockito-verifikasi.html
[7] https://www.toptal.com/java/a-guide-to-everyday-mockito
[8] https://www.baeldung.com/mockito-verify
[9] https://www.digitalocean.com/community/tutorials/mockito-verify