Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Hvad er forskellen mellem tider (n) og mindst (n) i Mockitos verificeringsmetode


Hvad er forskellen mellem tider (n) og mindst (n) i Mockitos verificeringsmetode


I Mockito bruges `Times (n)` og `mindst (n)` inden for metoden `verificering 'til at kontrollere, hvor mange gange en metode kaldes på et spotobjekt. Her er en detaljeret forklaring af hver:

gange (n)

- Formål: Denne metode verificerer, at en metode kaldes nøjagtigt `n 'gange. Hvis metoden kaldes mere eller mindre end `n 'gange, vil testen mislykkes.
- Eksempel: `Bekræft (mock, tider (2)). Somemethod ();` sikrer, at `somemethod ()` kaldes nøjagtigt to gange.
- Brug sag: Brug, når du har brug for at sikre et præcist antal påkaldelser.

mindst (n)

- Formål: Denne metode verificerer, at en metode kaldes mindst `n 'gange. Hvis metoden kaldes mindre end `n 'gange, vil testen mislykkes, men den vil passere, hvis den kaldes mere end` n` gange.
- Eksempel: `Bekræft (mock, mindst (2)). Somemethod ();` sikrer, at `somemethod ()` kaldes mindst to gange.
- Brug sag: Brug, når du vil sikre et minimum antal påkaldelser, men er ligeglad med det maksimale.

Nøgleforskelle

- Præcis vs. minimum: `Times (n)` kræver et nøjagtigt antal opkald, mens `mindst (n)` kræver mindst dette antal opkald.
- Fleksibilitet: `Atleast (n)` er mere fleksibel, da det giver mulighed for flere opkald end specificeret, mens `Times (n)` er strengt om antallet af opkald.
- Fejlhåndtering: Hvis en metode kaldes flere gange end specificeret med `gange (n)`, vil Mockito kaste en undtagelse (`ToomanyactualInvocations '). Med `mindst (n)` vil det kun mislykkes, hvis metoden kaldes færre gange end specificeret (`ToolittleactualInvocations ').

I sammendraget bruges `Times (n)` til præcis kontrol over antallet af metodeopkald, mens `mindst (n)` bruges til at sikre en minimumstærskel for opkald uden at begrænse det maksimale antal opkald.

Citater:
)
[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-test-advisor/selenium/metods/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-metod-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-which-was-called-multiple-times/54233921