Mockito pilkamiste lähtestamine on funktsioon, mis võimaldab teil esemeid korduda, puhastades nende karastamise ja koostoimeid. Kuid `lähtestamise ()` kasutamine ei heiduta üldiselt, kui see pole tingimata vajalik, kuna see võib näidata halvasti struktureeritud teste. Siin on mõned parimad tavad Mockito pilkamiste lähtestamiseks:
Mõistmine, millal kasutada `lähtestamist ()`
-Vältige kasutamist `RESET ()`: Peamine põhjus `Läke ()` on olemas konteineri süstitud pilkamiste toetamine, näiteks pärandkoodis või kolmandate osapoolte liidestes. Enamikul juhtudel, eriti hästi läbimõeldud testipõhise koodi korral, peaksite vältima `lähtestamise ()` kasutamist ja keskenduma selle asemel väikeste, keskendunud testimismeetodite loomisele [2] [4].
- Koodilõhn: kui leiate, et peate katsemeetodi raames kasutama `lähtestamist (), võib see olla märk sellest, et teie testid on liiga keerulised või hõlmavad liiga palju stsenaariume. See võib osutada vajadusele oma testide või testitava koodi reforeerida [2].
alternatiivid `lähtestamiseks ()`
- Looge uusi pilkeid: pilkamiste lähtestamise asemel kaaluge iga katsemeetodi jaoks uute pilkavate eksemplaride loomist. See lähenemisviis tagab, et iga test algab puhta kiltkiviga, vähendades varasemate testide interaktsioonide riski, mis mõjutab praegust [4].
- Kasutage `ClearInVocations ()`: kui peate ainult kutsumise ajalugu kustutama (nt interaktsioonide kontrollimiseks ilma torkamist mõjutamata), kasutage `mockito.clearinvocations ()`. See meetod eemaldab kutsumise ajalugu ilma tüvede lähtestamata, mis võib olla kasulik teatud stsenaariumides [4].
Märkide lähtestamise parimad tavad
- Lähtestage pärast iga testi: kui peate pilkamisi lähtestama, tehke seda pärast iga testimismeetodit, kasutades "@pärast" annotatsiooni Junitis "või" AfterAcH () "skalatestides. See tagab, et iga test algab puhta pilguga [3] [10].
- Vältige lähtestamist enne teste: pilkamiste lähtestamine enne iga testi võib põhjustada segadust selle kohta, millises olekus pilk testi alguses on. Üldiselt on selgem luua uusi pilkeid või lähtestada pärast teste [10].
- Kasutage raamistiku funktsioone: raamistikes nagu kevad, saab märkuste kasutamine nagu "@mockBean" automaatselt käsitseda pilke lähtestamist pärast iga testi, välistades vajaduse käsitsi lähtestamise järele [10].
Järeldus
Kuigi Mockito pakub konkreetsete kasutusjuhtumite jaoks meetodit `lähtestamise (), on üldiselt soovitatav vältida selle kasutamist puhtama, fokuseerituma testi kujundamise kasuks. Luues iga testi jaoks uusi pilkeid või kasutades pilkamise oleku haldamiseks raamistikufunktsioone, saate tagada kindlad ja hooldatavad testid ilma käsitsi lähtestamise vajaduseta.
Tsitaadid:[1] https://www.tutorialspoint.com/mockito/mockito_resting_mock.htm
[2] https://site.mockito.org/javadoc/current/org/mockito/mockito.html
[3] https://twitter.github.io/finatra/user-guide/testing/mocks.html
]
[5] https://github.com/mockito/mockito-kotlin/issues/513
[6] https://symflower.com/en/company/blog/2024/how-to-do-mocking-pring-boot/
]
[8] https://github.com/mockito/mockito/issues/183
[9] https://www.toptal.com/java/a-guide-o-veryday-mockito
]