Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kā VerifyZerointerActions atšķiras no citām verifikācijas metodēm Mockito


Kā VerifyZerointerActions atšķiras no citām verifikācijas metodēm Mockito


Mockito "VerifyZerointerAction" ir specializēta verifikācijas metode, ko izmanto, lai pārliecinātos, ka testa laikā nav veikts neviena metodes izsaukums. Šī metode ir būtiska, lai saglabātu vienības testu tīrību, novēršot neparedzētu mijiedarbību, kas varētu norādīt uz loģikas vai nevajadzīgas atkarību trūkumiem.

Atšķirības no citām verifikācijas metodēm

1. Mērķis un uzvedība:
- `VerifyZerointerActions`: šī metode pārbauda, ​​vai uz ņirgā objekta nav veikts neviens metodes izsaukums. Ja tiek atklāts kāds metodes zvans, Mockito izmet izņēmumu, izraisot testa neveiksmi. To izmanto, lai apgalvotu, ka testa izpildes laikā izspēles objekts paliek neskarts [1] [4].
- "Pārbaudiet": šo metodi izmanto, lai pārbaudītu, vai konkrētie metodes zvani notiek, kā paredzēts. Tas ļauj jums pārbaudīt, vai metode ir izsaukta ar īpašiem argumentiem, un to var izmantot ar dažādiem verifikācijas režīmiem, piemēram, `Times ()`, `vismaz ()` un `atmost ()`, lai norādītu izsaukumu skaitu [2] [7].

2. Pārbaudes režīmi:
- `VerifyZerointerActions` neatbalsta verifikācijas režīmus. Tas vienkārši pārbauda, ​​vai nav mijiedarbības.
- "Pārbaude" atbalsta vairākus verifikācijas režīmus, piemēram, "Times ()", "Atleast ()", "AtleastOnce ()" un "atmost ()", ļaujot jums norādīt, cik reizes ir jāsauc metode [2] [7].

3. Aicinājuma secība:
- `VeryfeZerointerActions` neraizējas par metodes izsaukumu secību, jo tas pārbauda, ​​vai tā vispār nav mijiedarbības.
- "Pārbaudiet" var izmantot ar `inorder", lai pārbaudītu metodes izsaukumu secību uz izspēles objektiem. Tas ir noderīgi, ja ir svarīgi metodes izsaukumu secība [2] [7].

4. Lietošanas gadījumi:
- "VerifyZerointeraction" parasti izmanto, ja vēlaties pārliecināties, ka testa scenārijā vispār neizmanto izspēles objektu. Tas palīdz izolēt pārbaudāmo vienību un nodrošināt, ka negaidītas mijiedarbības dēļ nav blakusparādības [1] [4].
- "Pārbaudiet" tiek izmantots scenārijos, kur jums jāapstiprina, ka starp objektiem notiek īpaša mijiedarbība. Tas ir svarīgi, lai pārbaudītu testētās sistēmas paredzamo izturēšanos [2] [7].

5. Attiecības ar `VerifyNomoreInteractions`:
- `VerifyZerointerActions` pārbauda, ​​vai vispār nav notikusi mijiedarbība.
- "VerifyNomoreInteraction" pārbauda, ​​vai ir pārbaudīta visa izspēles objekta mijiedarbība. Tas nodrošina, ka pēc “verificēšanas” lietošanas konkrētiem metodes izsaukumiem nav palikusi nepārbaudīta mijiedarbība [3] [9].

Rezumējot, "VerifyZerointerActions" ir specializēta metode, kas vērsta uz to, lai nerastos mijiedarbība, savukārt "verificēt" ir daudzpusīgāka, ļaujot pārbaudīt īpašu mijiedarbību un to biežumu. Abas metodes ir būtiskas vienības pārbaudei ar Mockito, kas kalpo dažādiem mērķiem atkarībā no testa scenārija.

Atsauces:
[1] https://www.dhiwise.com/post/how-to-use-verifyzerointeractions-for-better-flutter-testi
[2] https://www.dhiwise.com/post/mastering-unit-testing-a-complete-guide-to-mockito-verify
[3.]
[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.javacodegeks.com/2015/11/mockito-verifikācija.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