Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Mockito'nun Doğrulama yöntemindeki zamanlar (n) ve en az (n) arasındaki fark nedir?


Mockito'nun Doğrulama yöntemindeki zamanlar (n) ve en az (n) arasındaki fark nedir?


Mockito'da, bir sahte nesnede bir yöntemin kaç kez çağrıldığını kontrol etmek için `` times (n) 've `en az (n)` `` doğrulama' 'yöntemi içinde kullanılır. İşte her birinin ayrıntılı bir açıklaması:

Times (n)

- Amaç: Bu yöntem, bir yöntemin tam olarak `n` Times olarak adlandırıldığını doğrular. Yöntemin `n" zamanlarından daha fazla veya daha az denirse, test başarısız olur.
- Örnek: `doğru (sahte, zamanlar (2)). SomeMeThod ();
- Kullanım durumunu kullanın: kesin sayıda çağırma sağlamanız gerektiğinde kullanın.

en az (n)

- Amaç: Bu yöntem, bir yöntemin en azından `n 'Times olarak adlandırıldığını doğrular. Yöntem `n" zamanından daha az olarak adlandırılırsa, test başarısız olur, ancak `n` times'dan daha fazla olarak adlandırılırsa geçer.
- Örnek: `` doğrulama (sahte, en az 2)). SomeMethod ();
- Kullanım durumu: Minimum sayıda çağırma sağlamak istediğinizde kullanın, ancak maksimum değeri umursamayın.

Anahtar Farklılıklar

- kesin ve minimum: `times (n)` tam çağrı gerektirirken, en azından (n) `en azından bu çağrı gerektirir.
- Esneklik: `` en azından (n) ', belirtilenden daha fazla çağrıya izin verdiği için daha esnektir, oysa `` Times (n)' çağrı sayısı konusunda katıdır.
- Hata işleme: Bir yöntem `` Times (N) 'ile belirtilenden daha fazla zaman olarak adlandırılırsa, Mockito bir istisna atar (`toomanyactualInvocations'). `` En azından (n) 'ile, yalnızca yöntem belirtilenden daha az kez (`toolittleactualInvocations') çağrılırsa başarısız olur.

Özetle, `` Times (n) ', yöntem çağrıları sayısı üzerinde hassas kontrol için kullanılırken, `` en az (n)' ', maksimum çağrı sayısını kısıtlamadan minimum çağrı eşiğini sağlamak için kullanılır.

Alıntılar:
[1] https://stackoverflow.com/questions/58176580/what-is-the-ifference-beton-tleastonce-and-times1-in-mockito
[2] https://mingong.io/2019/09/22/mockito-lifify/
[3] https://github.com/mockk/mockk
[4] https://site.mockito.org/javadoc/current/org/mockito/mockito.html
[5] https://www.lambdatest.com/automation-testing-dvisor/selenium/methods/org.mockito.mockito.atleast
[6] https://stackoverflow.com/questions/60969650/use-of-ifify-method-d-and-without-times1-parametre
[7] https://www.digitalocean.com/community/tutorials/mockito-ifify
[8] https://stackoverflow.com/questions/27787487/java-ifify-woid-method-als-n-times-with-mockito
[9] https://www.javacodeeks.com/2015/11/mockito-fürifikasyon.html
[10] https://stackoverflow.com/questions/54233024/how-to-ifify-a-method-hch-wased-ald-multiple-times/54233921