Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kuo „VerifyzerointActions“ skiriasi nuo kitų „Mockito“ patikrinimo metodų


Kuo „VerifyzerointActions“ skiriasi nuo kitų „Mockito“ patikrinimo metodų


„Mockito“ „VerifyZerointActions“ yra specializuotas patikrinimo metodas, naudojamas užtikrinti, kad bandymo metu iš tyčiojamojo objekto nėra skambinami jokie metodo skambučiai. Šis metodas yra labai svarbus norint išlaikyti vienetų testų grynumą, užkertant kelią nenumatytai sąveikai, kuri galėtų parodyti logikos ar nereikalingų priklausomybių trūkumus.

Skirtumai nuo kitų patikrinimo metodų

1. Tikslas ir elgesys:
- „VerifyzerointActions“: Šis metodas patikrina, ar iš tyčiojamojo objekto nebuvo skambučio jokių metodų. Jei aptinkamas koks nors metodo skambutis, „Mockito“ išmeta išimtį, todėl testas sugenda. Jis naudojamas tvirtinti, kad bandymo vykdymo metu neliečiamas objektas lieka nepaliestas [1] [4].
- „Patikrinkite“: Šis metodas naudojamas patikrinti, ar konkretūs metodo skambučiai vyksta taip, kaip tikėtasi. Tai leidžia patikrinti, ar metodas buvo iškviestas su konkrečiais argumentais, ir gali būti naudojamas su įvairiais patikrinimo režimais, tokiais kaip „Times () (),` atleast () `ir` esanti () `, norint nurodyti kvietimų skaičių [2] [7].

2. Patikrinimo režimai:
- „VerifyZerointActions“ nepalaiko patikrinimo režimų. Tai tiesiog patikrina, ar nėra jokios sąveikos.
- „Patikrinkite“ palaiko kelis patikrinimo režimus, tokius kaip „Times ()“, „Atlemo ()“, „ATLESTONCE ()“ ir „ATSTOMA ()“, leidžiant nurodyti, kiek kartų turėtų būti vadinamas metodu [2] [7].

3. Kvietimo tvarka:
- „VerifyZerointActions“ nesirūpina metodo skambučių tvarka, nes ji visiškai neužtikrina, ar nėra sąveikos.
- „Patikrinkite“ gali būti naudojamas naudojant „inorder“, kad patikrintų metodų kvietimus į modelius objektus. Tai naudinga, kai svarbi metodo skambučių seka [2] [7].

4. Naudokite atvejus:
- „VerifyzerointActions“ paprastai naudojama, kai norite įsitikinti, kad bandymo scenarijuje nėra naudojamas pavyzdžio objektas. Tai padeda išskirti tiriamą vienetą ir užtikrinti, kad dėl netikėtos sąveikos neįvyktų jokio šalutinio poveikio [1] [4].
- „Patvirtinti“ naudojamas scenarijuose, kur reikia patvirtinti, kad tarp objektų vyksta konkrečios sąveikos. Tai būtina norint patikrinti numatomą bandomosios sistemos elgesį [2] [7].

5. Santykis su „verifyNomoreInteractions“:
- „VerifyzerointActions“ patikrina, ar jokios sąveikos neįvyko.
- „VerifyNomoreInteractions“ patikrina, ar visos sąveikos su modeliuotu objektu buvo patikrintos. Tai užtikrina, kad naudojant „Patikrinkite“ konkretiems metodo skambučiams, neliko nepatikrintos sąveikos [3] [9].

Apibendrinant galima pasakyti, kad „verifyzerointActions“ yra specializuotas metodas, orientuotas į sąveikos užtikrinimą, o „Patikrinkite“ yra universalesnis, leidžiantis patikrinti, ar nėra konkrečios sąveikos ir jų dažnio. Abu metodai yra būtini atliekant vienetų bandymus naudojant „Mockito“, tarnaujant skirtingiems tikslams, atsižvelgiant į bandymo scenarijų.

Citatos:
[1] https://www.dhiwise.com/post/how-to-use-verifyzerointactions-for-better-flutter-tests
[2] https://www.dhiwise.com/post/masterling-unit-testing-a-complete-guide-to-mockito-verify
[3] https://stackoverflow.com/questions/52396683/difference-between-verifyNomoreInteractions-and-VerifyReAntaictions-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