Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Apa perbedaan antara waktu (n) dan setidaknya (n) dalam metode verifikasi mockito


Apa perbedaan antara waktu (n) dan setidaknya (n) dalam metode verifikasi mockito


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