Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Aký je rozdiel medzi časmi (n) a aspoňom (n) v metóde overenia Mockito


Aký je rozdiel medzi časmi (n) a aspoňom (n) v metóde overenia Mockito


V Mockito sa v metóde `Overify` Times (n)` a `aspoň (n)` používajú na kontrolu, koľkokrát sa metóda nazýva falošný objekt. Tu je podrobné vysvetlenie každého z nich:

Times (n)

- Účel: Táto metóda overuje, že metóda sa nazýva presne `n` časy. Ak sa táto metóda nazýva viac alebo menej ako „n` krát, test zlyhá.
- Príklad: `Overte (Mock, Times (2)). Somemethod ();` zabezpečuje, že „somemethod ()` sa nazýva presne dvakrát.
- Prípad použitia: Použite, keď potrebujete zabezpečiť presný počet vyvolaní.

aspoň (n)

- Účel: Táto metóda overuje, že metóda sa nazýva najmenej „n` časom. Ak sa táto metóda nazýva menej ako „n` krát, test zlyhá, ale prejde, ak sa nazýva viac ako„ n` časy.
- Príklad: `overte (Mock, aspoň (2)).
- Prípad použitia: Použite, keď chcete zabezpečiť minimálny počet vyvolaní, ale nestarajú sa o maximum.

Kľúčové rozdiely

- Presné verzus minimum: `časy (n)` vyžaduje presný počet hovorov, zatiaľ čo „aspoň (n)` vyžaduje aspoň tento počet hovorov.
- Flexibilita: „Aspoň (n)` je flexibilnejšia, pretože umožňuje viac hovorov, ako je špecifikované, zatiaľ čo `časy (n)` je prísne o počte hovorov.
- Manipulácia s chybami: Ak sa metóda nazýva viackrát, ako je špecifikovaná s `časom (n)`, Mockito vyhodí výnimku (`ToomanyActualinVocations". Pri „aspoň (n)` sa zlyhá iba vtedy, ak sa metóda nazýva menej krát, ako je špecifikované (`TOWNITTLEACTUALICINVOCATIONS`).

Stručne povedané, „časy (n)` sa používa na presnú kontrolu počtu hovorov metód, zatiaľ čo „aspoň (n)` sa používa na zabezpečenie minimálnej prahu hovorov bez obmedzenia maximálneho počtu hovorov.

Citácie:
[1] https://stackoverflow.com/questions/58176580/what-is-the-difference-between-atleastone-and--Times1-in-mockito
[2] https://mingong.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/Ja-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-hich-was-called-meltiple-Times/54233921