Mockitohamcresti kasutamine traditsiooniliste Hamcresti matšide kohal pakub mitmeid eeliseid, eriti kui töötada koos Mockitoga ühikutestides pilkamiseks. Siin on peamised eelised:
1. integreerimine Mockitoga: Mockitohamcrest võimaldab teil sujuvalt integreerida Hamcresti matšid Mockito pilkava raamistikuga. See integratsioon on ülioluline, et seadistada tükkide või keerukate argumentide sobitamise meetodikõnesid, mida ainult traditsioonilised Hamcresti matšid ei toeta. Näiteks võite kasutada `mockitohamcrest.argthat`, et teisendada Hamcresti matš Mockito matšiks, võimaldades teil kasutada Hamcresti rikkalikku matšikomplekti Mockito kontekstides [1] [10] [10].
2. Versiooni vastuolus olevate versioonide vältimine: Mockito lahutati versioonis 2.1.0 Hamcrestist, et vältida versiooniga ühildumatust, mis oli varem kasutajatele probleeme põhjustanud. Mockitohamcrest pakub viisi Hamcresti matšide kasutamiseks, ilma et see oleks tihedalt seotud Hamcresti konkreetse versiooniga, vähendades sellega potentsiaalseid konflikte [1] [10].
3. Paindlikkus argumentide sobitamisel: Mockitohamcrest võimaldab teil kasutada Hamcresti paindlikke ja ekspressiivseid sobitajaid, et määratleda keerukate argumentide sobitamise stsenaariumid. See on eriti kasulik siis, kui peate kontrollima, kas teatud tingimustele vastavad argumendid, näiteks stringid, mis sisaldavad konkreetseid alamstringe või numbreid teatud vahemikus [4] [12].
4. Täiustatud loetavuse ja ise dokumentide kood: kasutades Mockitohamcresti kaudu Hamcresti matše, võivad teie testid jääda ise dokumenteerivaks ja hõlpsasti loetavaks. Võistlejad väljendavad selgelt testi kavatsust, muutes arendajatel lihtsamaks aru, mida testitakse ilma täiendavaid kommentaare vajamata [3] [9].
5. Paremad veateated: kui väited ebaõnnestuvad, annab Hamcrest üksikasjalikke ja tähenduslikke tõrketeateid, mis võib silumisel märkimisväärselt aidata. See on eriti kasulik Mockitohamcresti kasutamisel, kuna see aitab tuvastada, miks mõnitava kinnitus ebaõnnestus, muutes probleemide diagnoosimise lihtsamaks [3] [9].
6. Kohandamine ja laiendamine: Hamcresti matš API võimaldab teil luua teie konkreetsetele testimisvajadustele kohandatud kohandatud sobitajad. Kombineerituna Mockitohamcrestiga võimaldab see laiendatavus kirjutada rohkem sihipäraseid ja ekspressiivseid teste, mis vastavad täpselt teie rakenduse loogikale [6] [9].
Kokkuvõtlikult pakub Mockitohamcrest võimsat kombinatsiooni Mockito pilkamisvõimalustest Hamcresti paindlike ja ekspressiivsete sobitajatega, suurendades testi loetavust, paindlikkust ja hooldatavust.
Tsitaadid:[1] https://site.mockito.org/javadoc/current/org/mockito/hamcrest/mockitohamcrest.html
]
[3] https://automatenow.io/complete-guide-to-hamcrest-matchers/
]
[5] https://www.javadoc.io/doc/org.mockito/mockito-core/2.2.9/org/mockito/argumentMatcher.html
[6] https://www.javacodegeeks.com/2015/11/custom-hamcrest-matchers.html
]
[8] https://site.mockito.org/javadoc/current/index.html?org%2fmockito%2fargumentMatcher.html
[9] https://www.vogella.com/tutorials/hamcrest/article.html
[10] https://weblab.tudelft.nl/docs/mockito/3.10/org/mockito/hamcrest/mockitohamcrest.html
[11] https://truth.dev/comparison.html
]