Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Hvordan skiller VerifyzerointerActions seg fra andre verifiseringsmetoder i Mockito


Hvordan skiller VerifyzerointerActions seg fra andre verifiseringsmetoder i Mockito


I Mockito er `VerifyzerointerActions` en spesialisert verifiseringsmetode som brukes for å sikre at det ikke blir gjort noen metodeanrop på et hånet objekt under en test. Denne metoden er avgjørende for å opprettholde renheten i enhetstester ved å forhindre utilsiktede interaksjoner som kan indikere mangler i logikk eller unødvendige avhengigheter.

Forskjeller fra andre bekreftelsesmetoder

1. Formål og oppførsel:
- `VerifyzerointerActions`: Denne metoden sjekker at det ikke er foretatt noen metodeanrop på et hånet objekt. Hvis noen metodeanrop oppdages, kaster Mockito et unntak, noe som får testen til å mislykkes. Det brukes til å hevde at et hånlig objekt forblir uberørt under testutførelsen [1] [4].
- `Verify`: Denne metoden brukes til å bekrefte at spesifikke metodeanrop oppstår som forventet. Den lar deg sjekke om en metode ble kalt med spesifikke argumenter og kan brukes med forskjellige verifiseringsmoduser som `ganger ()`, `Atleast ()`, og `atmost ()` for å spesifisere antall påkallinger [2] [7].

2. Verifiseringsmodus:
- `VerifyZerointerActions` støtter ikke bekreftelsesmodus. Det sjekker ganske enkelt for fraværet av interaksjoner.
- `Verify` støtter flere verifiseringsmodus, for eksempel` Times () `,` Atleast () `,` AtleastOnce () `, og` atmost () `, slik at du kan spesifisere hvor mange ganger en metode skal kalles [2] [7].

3. Order of Invocation:
- `VerifyzerointerActions` angår ikke for rekkefølgen på metodesamtaler, siden den sjekker for ingen interaksjoner i det hele tatt.
- `Verify` kan brukes med` inders` for å bekrefte rekkefølgen på metodeinnkallinger på hånlige objekter. Dette er nyttig når sekvensen av metodesamtaler er viktig [2] [7].

4. Bruk tilfeller:
- `VerifyzerointerActions` brukes vanligvis når du vil sikre at et hånlig objekt ikke brukes i det hele tatt i et testscenario. Dette hjelper med å isolere enheten som testes og sikre at ingen bivirkninger oppstår på grunn av uventede interaksjoner [1] [4].
- `Verify` brukes i scenarier der du trenger å bekrefte at spesifikke interaksjoner oppstår mellom objekter. Det er viktig for å teste den forventede oppførselen til et system som er under test [2] [7].

5. Forholdet til `VerifyNomoreInteractions`:
- `VerifyzerointerArtions` sjekker om at ingen interaksjoner har skjedd i det hele tatt.
- `VerifyNomoreInteractions` sjekker at alle interaksjoner på et hånlig objekt er bekreftet. Det sikrer at det ikke er noen uverifiserte interaksjoner igjen etter å ha brukt `verifiser 'for spesifikke metodesamtaler [3] [9].

Oppsummert er `VerifyzerointerActions` en spesialisert metode som er fokusert på å sikre at ingen interaksjoner oppstår, mens` Verify` er mer allsidig, slik at du kan sjekke for spesifikke interaksjoner og deres frekvens. Begge metodene er essensielle i enhetstesting med Mockito, og serverer forskjellige formål avhengig av testscenariet.

Sitasjoner:
[1] https://www.dhiwelly.com/post/how-to-use-verifyzerointeractions-for-better-flutter-tester
[2] https://www.dhiwise.com/post/mastering-unit-testing-a-complete-guide-to-mockito-verify
[3] https://stackoverflow.com/questions/52396683/difference-between-verifynomoreinteractions-andififyzerokeractions-in--mockit
[4] https://www.lambdatest.com/automation-testing-advisor/selenium/methods/org.mockito.mockito.verifyzerointeractions
[5] https://stackoverflow.com/questions/64239160/using-mockito-when-to-mock-and-verify-vs-mockito-verify
[6] https://www.javacodegeeks.com/2015/11/mockito-verification.html
[7] https://www.toptal.com/java/a-guide-to-veryday-mockito
[8] https://www.baeldung.com/mockito-verify
[9] https://www.digitalocean.com/community/tutorials/mockito-verify