Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kakšne so prednosti uporabe Mockitohamcrest nad tradicionalnimi hamcrest Matchers


Kakšne so prednosti uporabe Mockitohamcrest nad tradicionalnimi hamcrest Matchers


Uporaba Mockitohamcrest nad tradicionalnimi Hamcrest Matchers ponuja več prednosti, zlasti pri delu z Mockito za posmehovanje v enotnih testih. Tu so ključne prednosti:

1. Integracija z Mockito: Mockitohamcrest vam omogoča, da brezhibno integrirate Hamcrest Matchers z Mockitovim posmehovalnim okvirom. Ta integracija je ključnega pomena za nastavitev škrbine ali preverjanje klicev metod s kompleksnim ujemanjem argumentov, ki jih samo neposredno podpirajo tradicionalni Hamcrest Matchers. Na primer, lahko uporabite `mockitohamcrest.argthat` za pretvorbo Hamcrest Matcher v mockito Matcher, kar vam omogoča, da v Mockito kontekstih uporabite bogat nabor Maccrest -a [1] [10] [12].

2. Izogibanje nezdružljivosti različice: Mockito je bil ločen iz Hamcresta v različici 2.1.0, da bi se izognil nezdružljivosti različic, ki so v preteklosti povzročile težave uporabnikom. Mockitohamcrest ponuja način uporabe Hamcrest Matchers, ne da bi bil tesno povezan z določeno različico Hamcresta in tako zmanjšal potencialne konflikte [1] [10].

3. Prilagodljivost v ujemanju argumentov: Mockitohamcrest vam omogoča, da s prilagodljivimi in izraznimi matterji Hamcrest določite zapletene scenarije ujemanja argumentov. To je še posebej koristno, če morate preveriti, ali je bila poklicana metoda z argumenti, ki ustrezajo določenim pogojem, na primer nizov, ki vsebujejo določene podlage ali številke v določenem območju [4] [12].

4. Izboljšana koda za berljivost in samokukcija: Z uporabo Hamcrest Matchers prek Mockitohamcrest lahko vaši testi ostanejo samookumentirajoči in jih je enostavno brati. Matcherji jasno izražajo namen testa in razvijalcem olajšajo razumevanje, kaj se preizkuša, ne da bi potrebovali dodatne pripombe [3] [9].

5. Boljša sporočila o napakah: Ko trditve ne uspejo, Hamcrest ponuja podrobna in smiselna sporočila o napakah, kar lahko znatno pomaga pri odpravljanju napak. To je še posebej koristno pri uporabi Mockitohamcrest, saj pomaga ugotoviti, zakaj preverjanje posmeha ni uspelo, kar olajša diagnosticiranje težav [3] [9].

6. Prilagoditev in razširljivost: Hamcrest -ov API API omogoča ustvarjanje matchers po meri, prilagojene vašim posebnim potrebam po testiranju. V kombinaciji z Mockitohamcrest vam ta razširljivost omogoča napisane bolj ciljne in izrazne teste, ki natančno ustrezajo logiki vaše aplikacije [6] [9].

Če povzamemo, Mockitohamcrest ponuja močno kombinacijo Mockitovih posmehovalnih zmogljivosti s Hamcrestovimi prilagodljivimi in ekspresivnimi matcherji, izboljšanje preskusne berljivosti, prožnosti in vzdrževanja.

Navedbe:
[1] https://site.mockito.org/javadoc/current/org/mockito/hamcrest/mockitohamcrest.html
[2] https://stackoverflow.com/Questions/2041594/mockito-and-hamcrest-how-to-verify-Invocation-of-collection-argument
[3] https://automatenow.io/complete-guide-to-hamcrest-matchers/
[4] https://www.lambdatest.com/automation-testing-advisor/selenium/methods/org.mockito.hamcrest.mockitohamcrest.mockitohamcrest
[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
[7] https://www.lambdatest.com/automation-testing-advisor/selenium/classes/org.mockito.hamcrest.mockitohamcrest
[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/Coparison.html
[12] https://stackoverflow.com/questions/8348046/mockitos-matcher-vs-hamcrest-matcher