Mockito kasutamisel erandite pilkamiseks võivad mitmed tavalised lõksud muuta teie testid vähem tõhusaks või raskemaks. Siin on mõned neist lõksudest ja kuidas neid vältida:
1. Liigne pilk **
Üks olulisemaid lõkse on liiga pilk. See juhtub siis, kui mõnitate liiga palju sõltuvusi, viies habraste ja raskesti hooldatavate testideni. Liigne pilk võib põhjustada testide keskendumist rohkem pilkadele kui katsetatava süsteemi tegelikule käitumisele. Selle vältimiseks keskenduge ainult triviaalse käitumisega seotud kaastöötajate pilkamisele või neile, kelle koostoimet soovite kontrollida. Kasutage lihtsate koostööde jaoks reaalseid eksemplare [3].2. kehtetud erandid **
Mockito tagab, et erand viskamine kehtib konkreetse koputatud meetodi jaoks. Kui proovite visata erandi, mis pole meetodi kontrollitud erandite loendis, kaebab Mockito. Näiteks kui meetod ei deklareeri "ioException", põhjustab IoException viskamine selle pilkamine vea [1]. Veenduge alati, et mõnitatud erand kehtib meetodi jaoks.3. kasutamine `thenthrow ()` koos tühikute meetoditega **
`Kui (). thenthrow ()` ei saa kasutada tühiste meetoditega, kuna pilkamiseks puudub tagastamise väärtus. Selle asemel kasutage tühimike meetodite jaoks `DOTHROW ()`. Nende meetodite valesti segamine võib põhjustada vigu [2].4. spetsiifilisuse puudumine **
Erandite pilkamisel on ülioluline olla konkreetne, milliseid erandeid te testite. Vältige ülemäärast pilku, keskendudes testistsenaariumi jaoks olulistele eranditele. See aitab hoida teste keskendunud ja hooldatavaid [2] [8].5. Hukkamiste vale käitlemine **
Veenduge, et rakenduskood on valmis erandite õigesti käsitlema, isegi testide ajal pilkamisel. See hõlmab erandite käsitlemise loogika testimist, et tagada selle käitumine ootuspäraselt [2].6. Tähenduslike veateadete kasutamine **
Erandite pilkamisel lisage sisukad sõnumid, mis aitavad probleeme diagnoosida, kui testid ebaõnnestuvad. See praktika suurendab teie testide selgust ja tõhusust [2].7. Erandi käitlemise loogika testimine **
Veenduge, et kood käitleb ootuspäraselt erandeid. See hõlmab kontrollimist, et rakendus käitub õigesti erandite viskamisel, mis on ülioluline vastupidavate rakenduste ehitamiseks [2].8. pilkamiste lähtestamine ja puhastamine **
Mockito pakub selliseid funktsioone nagu `reset ()` ja `clearInVocAtions ()` pilkade haldamiseks. Neid tuleks siiski kasutada säästlikult. Pilka lähtestamist tuleks teha ainult harvadel juhtudel, näiteks kui konteiner süstitakse pilka ja seda ei saa iga testi jaoks uuesti luua. Kutsumiste puhastamine võib olla kasulik, kui pilka uuesti taastamine tooks kaasa olulise üldkulu [1].Olles nendest lõksudest teadlik ja järgneb parimatele tavadele, saate Mockitot tõhusalt kasutada erandite pilkamiseks ja tagamaks, et teie testid oleksid vastupidavad ja hooldatavad.
Tsitaadid:[1] https://www.toptal.com/java/a-guide-o-veryday-mockito
]
[3] https://javanexus.com/blog/avoiding-mockito-testing-pitfalls
]
[5] https://stackoverflow.com/questions/22540108/best-practices-with-mockito
]
]
]