I Mockito brukes `Times (N)` og 'IneLIST (N) `innenfor` Verify` -metoden for å sjekke hvor mange ganger en metode som blir kalt på et hånlig objekt. Her er en detaljert forklaring av hver:
ganger (n)
- Formål: Denne metoden verifiserer at en metode kalles nøyaktig 'n` ganger. Hvis metoden kalles mer eller mindre enn `n` ganger, vil testen mislykkes.- Eksempel: `Bekreft (hån, tider (2)). Somemethod ();` sikrer at `Somemethod ()` kalles nøyaktig to ganger.
- Bruk sak: Bruk når du trenger å sikre et presist antall påkallinger.
minst (n)
- Formål: Denne metoden verifiserer at en metode kalles minst `n`. Hvis metoden kalles mindre enn `n` ganger, vil testen mislykkes, men den vil passere hvis den kalles mer enn` n` ganger.- Eksempel: `Kontroller (Mock, Imligleast (2)). Somemethod ();` sikrer at `Somemethod ()` kalles minst to ganger.
- Bruk sak: Bruk når du vil sikre et minimum antall påkallinger, men ikke bryr deg om det maksimale.
viktige forskjeller
- Eksakt kontra minimum: `Times (n)` krever et eksakt antall samtaler, mens `i det minste (n)` krever minst antallet samtaler.- Fleksibilitet: `I det minste (n)` er mer fleksibel ettersom det gir mulighet for flere samtaler enn spesifisert, mens `ganger (n)` er strengt med antall samtaler.
- Feilhåndtering: Hvis en metode kalles flere ganger enn spesifisert med `ganger (n)`, vil Mockito kaste et unntak (`ToomanyActualInvocations`). Med `i det minste (n)`, vil den bare mislykkes hvis metoden kalles færre ganger enn spesifisert (`ToolittleactualInvocations`).
Oppsummert brukes `Times (n)` for presis kontroll over antall metodesamtaler, mens `i det minste (n)` brukes for å sikre en minimumsterskel for samtaler uten å begrense det maksimale antallet samtaler.
Sitasjoner:[1] https://stackoverflow.com/questions/58176580/what-is-the-diffence-between-atleastonce-andtimes1-in-mockito
[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-testing-advisor/selenium/methods/org.mockito.mockito.atlast
[6] https://stackoverflow.com/questions/60969650/use-of-verify-method-with-and-without-time1-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-which-was-called-multiple-times/54233921