Mockito `RESET ()` meetod on funktsioon, mis võimaldab teil lähtestada pilkeobjekti, et seda saaks uuesti kasutada. Kuid selle kasutamist heidutavad Mockito arendajad ja kasutajad, kuna see võib osutada halvasti kavandatud testidele või koodile, mida on liiga keeruline ja keeruline puhtalt testida [7] [9]. Selle asemel on soovitatav lähenemisviis luua iga katsemeetodi jaoks uusi pilkeid, et tagada testimisel sõltumatus ja selgus [7] [9].
Võrdlus teiste pilkavate raamatukogudega
1. JMock2: Erinevalt Mockitost kasutab JMock2 ootuste ja pilkamise teabe haldamiseks konteksti, mis on iga katsemeetodi jaoks ümber ehitatud. See tähendab, et JMock2 ei vaja selget lähtestamist nagu Mockito [10]. JMock2 lähenemisviis aitab säilitada testi eraldatust, ilma et oleks vaja pilkeid käsitsi lähtestada.
2. Easymock: Easymock ei vaja ka lähtestamismeetodit. See on loodud iga testi jaoks uute pilkamisobjektide loomiseks, sarnaselt Mockito soovitatud praktikaga. Mockito arendaja Szczepan Faber mainib, et Easymocki kasutamise ajal ei vajanud ta kunagi lähtestamise funktsiooni [8].
3. Mockito vs muud raamatukogud: üldiselt reklaamivad muud pilkamisraamatukogud, nagu JMock2 ja EasyMock puhtama testimismeetodit, kas automaatselt Mock State'i haldamisel või iga testi jaoks uute pilkamiste loomise julgustamiseks. Mockito `lähtestamine ()` meetod on pigem erand kui pilkavate raamistike norm.
parimad tavad
- Vältige kasutamist `RESET ()`: kui see pole tingimata vajalik, näiteks kui konteiner süstitakse pilka ja seda ei saa iga testi jaoks uuesti luua, on soovitatav vältida kasutamist `RESET ()`. Selle asemel keskenduge iga stsenaariumi jaoks uute pilkastega lihtsate, keskendunud testide loomisele [7] [9].
- Kasutage `ClearInVocations ()`: kui peate suhtlemise kustutama ilma, et lähtestatata, kasutage `ClearInvocatsions ()`. See meetod võimaldab teil säilitada koristamist, puhastades samas salvestatud interaktsioonid, mis võivad teatud stsenaariumide korral olla kasulikud [5].
- Tegevuse refektori kood: kui leiate, et peate kasutama `RESET ()` sageli, võib see näidata, et teie koodile võib olla kasu refraktorist, et muuta see testitavamaks. See võib hõlmata keerukate meetodite lagundamist või sõltuvuse süstimise parandamist [9].
Kokkuvõtlikult võib öelda, et kuigi Mockito pakub "lähtestamise ()" meetodit, ei võeta selle kasutamist üldiselt iga testi jaoks uute pilkamiste loomist. Teised pilkamisraamatukogud propageerivad sageli sarnaseid tavasid, rõhutades puhta ja sõltumatute teste keeruka pilkamise juhtimisel.
Tsitaadid:[1] https://www.tutorialspoint.com/mockito/mockito_resting_mock.htm
[2] https://groups.google.com/g/mockito/c/y_ihdc8lx_m
[3] https://www.vogella.com/tutorials/mockito/article.html
[4] https://www.lambdatest.com/automation-testing-advisor/selenium/methods/org.mockito.mockito.reset
[5] https://www.toptal.com/java/a-guide-o-veryday-mockito
[6] https://www.jrebel.com/blog/mock-unit-testing-with-mockito
]
[8] https://groups.google.com/g/mockito/c/_vxg33tlzl8
]
]