Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Jaký je rozdíl mezi časem (n) a alespoň (n) v Mockitoově ověřovací metodě


Jaký je rozdíl mezi časem (n) a alespoň (n) v Mockitoově ověřovací metodě


V Mockito se v metodě `ověřte` používají` časy (n) `a` alespoň (n) `k kontrole, kolikrát je metoda vyvolána na falešný objekt. Zde je podrobné vysvětlení každého:

times (n)

- Účel: Tato metoda ověřuje, že metoda se nazývá přesně „n“. Pokud se metoda vyvolá více či méně než „n“, test selže.
- Příklad: `ověřte (falešné, časy (2)). Somemethod ();` zajišťuje, že se `somemethod ()` nazývá přesně dvakrát.
- Případ použití: Použijte, když potřebujete zajistit přesný počet vyvolání.

ALSTLEAST (N)

- Účel: Tato metoda ověřuje, že metoda se nazývá alespoň čas. Pokud se metoda nazývá menší než „n“ časy, test selže, ale projde, pokud se nazývá více než „n“ časy.
- Příklad: `ověřte (falešná, alespoň (2)). Somemetod ();` zajišťuje, že se `somemetod ()` nazývá alespoň dvakrát.
- Případ použití: Použijte, pokud chcete zajistit minimální počet vyvolání, ale nestaráte se o maximum.

Klíčové rozdíly

- Přesné vs. minimum: `časy (n)` vyžaduje přesný počet hovorů, zatímco `alespoň (n)` vyžaduje alespoň tento počet hovorů.
- Flexibilita: `alespoň (n)` je flexibilnější, protože umožňuje více hovorů, než je uvedeno, zatímco „časy (n)` je přísná ohledně počtu hovorů.
- Manipulace s chybami: Pokud se metoda vyvolá vícekrát, než je určena s `časy (n)`, Mockito vyvolá výjimku („toomanyactualinvocations“). S „alespoň (n)“ selže pouze tehdy, pokud je metoda volána méněkrát, než je uvedena (`toalittleactualInvocations`).

Stručně řečeno, „časy (n)“ se používá pro přesnou kontrolu nad počtem volání metod, zatímco „alespoň (n)“ se používá k zajištění minimálního prahu hovorů bez omezení maximálního počtu hovorů.

Citace:
[1] https://stackoverflow.com/questions/58176580/What-IS-the-difference-TeaNeastOnce-and-times1-in-mockito
[2] https://mincong.io/2019/09/22/MockIto-rify/
[3] https://github.com/mockk/mockk
[4] https://site.mockito.org/javadoc/current/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-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-verification.html
[10] https://stackoverflow.com/questions/54233024/how-to-verify-a-method-was-was-called-limes/54233921