Dalam mockito, `kali (n)` dan `setidaknya (n)` digunakan dalam metode `verifikasi` untuk memeriksa berapa kali metode disebut pada objek tiruan. Berikut penjelasan rinci masing -masing:
kali (n)
- Tujuan: Metode ini memverifikasi bahwa metode disebut tepat `n` kali. Jika metode ini disebut lebih atau kurang dari `n` kali, tes akan gagal.- Contoh: `Verifikasi (Mock, Times (2)). Somemethod ();` memastikan bahwa `somemethod ()` disebut tepat dua kali.
- Gunakan kasing: Gunakan saat Anda perlu memastikan jumlah doa yang tepat.
ATLEAST (N)
- Tujuan: Metode ini memverifikasi bahwa metode disebut setidaknya `n` kali. Jika metode ini disebut kurang dari `n` kali, tes akan gagal, tetapi akan berlalu jika disebut lebih dari` n` kali.- Contoh: `Verifikasi (Mock, Atleast (2)). Somemethod ();` memastikan bahwa `somemethod ()` disebut setidaknya dua kali.
- Gunakan kasing: Gunakan saat Anda ingin memastikan jumlah minimum doa tetapi tidak peduli dengan maksimum.
Perbedaan utama
- Exact vs. Minimum: `Times (n)` membutuhkan jumlah panggilan yang tepat, sedangkan `setidaknya (n)` membutuhkan setidaknya jumlah panggilan tersebut.- Fleksibilitas: `ATLEAST (n)` lebih fleksibel karena memungkinkan untuk lebih banyak panggilan daripada yang ditentukan, sedangkan `kali (n)` ketat tentang jumlah panggilan.
- Penanganan kesalahan: Jika suatu metode disebut lebih banyak dari yang ditentukan dengan `Times (n)`, mockito akan melempar pengecualian (`ToomanyactualInvocations`). Dengan `ATLEAST (N)`, itu hanya akan gagal jika metode ini disebut lebih sedikit dari yang ditentukan (`toolittleactualInvocations`).
Singkatnya, `Times (n)` digunakan untuk kontrol yang tepat atas jumlah panggilan metode, sedangkan `minimal (n)` digunakan untuk memastikan ambang batas minimum panggilan tanpa membatasi jumlah panggilan maksimum.
Kutipan:[1] https://stackoverflow.com/questions/58176580/what-is-the-diference-between-atleastonce-and-times1-in-mockito
[2] https://mincong.io/2019/09/22/mockito-verify/
[3] https://github.com/mockk/mockk
[4] https://site.mockito.org/javadoc/current/org/mockito/mockito.html
[5] https://www.lambdatest.com/automation-testing-advisor/selenium/methods/org.mockito.mockito.atleast
[6] https://stackoverflow.com/questions/60969650/use-of-verify-method-with-and-without-times1-parameter
[7] https://www.digitalocean.com/community/tutorials/mockito-verify
[8] https://stackoverflow.com/questions/27787487/java-verify-void-method-calls-n-times-with-mockito
[9] https://www.javacodegeeks.com/2015/11/mockito-verifikasi.html
[10] https://stackoverflow.com/questions/54233024/how-to-verify-a-method-was-was-called-multiple-times/54233921