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