V Mockito je `preverjanja, ki se med testom ne izvajajo klici na zasmeščeni objekt, ki se uporablja nobena klica za metodo, ki se uporablja na posmehljivem predmetu. Ta metoda je ključnega pomena za ohranjanje čistosti enotnih testov s preprečevanjem nenamernih interakcij, ki bi lahko pokazale pomanjkljivosti v logiki ali nepotrebnih odvisnostih.
Razlike od drugih metod preverjanja
1. namen in vedenje:
- `preverjanjazerointeRactions`: Ta metoda preverja, ali na zasmeščenem predmetu ni bilo nobenih klicev metod. Če je zaznan kateri koli način metode, Mockito vrže izjemo, zaradi česar test ne uspe. Uporablja se za trditev, da med izvajanjem preskusa ostane posmehni predmet nedotaknjen [1] [4].
- `Preveri`: Ta metoda se uporablja za preverjanje, ali se pojavijo posebni klici metode, kot je bilo pričakovano. Omogoča vam, da preverite, ali je bila metoda poklicana s posebnimi argumenti in jo je mogoče uporabiti z različnimi načini preverjanja, kot so `times ()`, `Attaest ()` in `atmost ()`, da določite število priklic [2] [7].
2. Načini preverjanja:
- `preverjanja, da ne podpira načinov preverjanja. Preprosto preveri odsotnost kakršnih koli interakcij.
- `Preveri` podpira več načinov preverjanja, kot so` times () `,` Atting () `,` AttingOnce () `in` Atmost () `, kar vam omogoča, da določite, kolikokrat je treba poklicati metodo [2] [7].
3. Vrstni red priklica:
- `preverjanjazerointeRactions" se ne ukvarja z vrstnim redom klicev metod, saj sploh ne preverja nobenih interakcij.
- `Prevegi" je mogoče uporabiti z `inder" za preverjanje vrstnega reda priklic metod na posmehljivih predmetih. To je koristno, kadar je zaporedje klicev metod pomembno [2] [7].
4. Primeri uporabe:
- `preverjanjezerointeRactions" se običajno uporablja, kadar želite zagotoviti, da se v testnem scenariju sploh ne uporablja posmeh. To pomaga pri izolaciji preskusne enote in zagotavljanju, da se zaradi nepričakovanih interakcij ne pojavijo neželeni učinki [1] [4].
- `preverja" se uporablja v scenarijih, kjer morate potrditi, da se med predmeti pojavljajo posebne interakcije. Ključnega pomena je za testiranje pričakovanega vedenja sistema, ki je preskušen [2] [7].
5. Odnos z `preverjanjanomoreinternactions`:
- `preverjanja preverjanja preverjanja, ali interakcije sploh niso prišle.
- `preverja, ali so bile preverjene vse interakcije na posmehnem objektu preverjene. Zagotavlja, da po uporabi "preverja" za klice določenih metod ni ostalo nepreverjenih interakcij [3] [9].
Če povzamemo, je `preverjanjezerointeRactions" specializirana metoda, osredotočena na zagotavljanje nobenih interakcij, medtem ko je "preverjanje" bolj vsestranski, kar vam omogoča, da preverite posebne interakcije in njihovo frekvenco. Obe metodi sta bistveni pri testiranju enot z Mockito, ki služita različnim namenom, odvisno od testnega scenarija.
Navedbe:[1] https://www.dhiwise.com/post/how-to-use-verifyzerointeRactions-for-better-flutter-test
[2] https://www.dhiwise.com/post/mastering-unit-testing-a-complete-guide-to-mockito-Verify
[3] https://stackoverflow.com/questions/52396683/difference-between-verifyNomoreInteractions-and-reveryzerointeractions-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-everyday-mockito
[8] https://www.baeldung.com/mockito-verify
[9] https://www.digitalocean.com/community/tutorials/mockito-verify