Mockito argumentide sobitajad on võimsad tööriistad, mida kasutatakse üksuse testimisel, et mõnitavaid argumente paindlikult täpsustada pilkamiste seadistamisel. Kuid neil on mitu piirangut:
1. Kasutuskontekst: argumenteerijad saab kasutada ainult käppamise või kontrollimise kontekstis. Neid ei saa kasutada katsetatava objekti meetodite helistamisel. Näiteks ei saa te reaalsele objektile meetodil helistades kasutada `ükskõik mida ()`; Selle asemel peaksite kasutama konkreetset väärtust [1] [5].
2. Argumentide järjepidevus: ühe argumendi argumendi sobitamisel peavad kõik muud argumendid kasutama ka sobitajaid. Sama meetodi kõne korral ei saa erinevate argumentide jaoks sobivaid vastavaid väärtusi segada. See on `InvaduDuseOfMatcherSexception" levinud allikas [7] [8].
3. pilkamispiirangud: Mockito ei saa mõnitada teatud meetodeid, näiteks võrdseid () `,` hashcode () `või lõplikud meetodid. Kuigi argumenteerijad saab kasutada meetoditega, mida saab pilkata, ei laienda need võimalust neid piiratud meetodeid mõnitada [3].
4. Argumendi kokkuvõtjate tüübid: Mockito pakub mitmesuguseid sisseehitatud argumendi sobitajaid (nt `` ayitint () `,` misyString () `,` isnull () `), kuid peate valima argumendi jaoks õige tüübi. Näiteks ei pruugi primitiivse tüübiga `ükskõik millise () kasutamine toimida ootuspäraselt; Selle asemel kasutage Boole'i parameetrite jaoks konkreetsemat sobivat nagu `AnyBoolean ()` [7].
5. Kohandatud argumentide sobitajad: kuigi Mockito võimaldab teil luua kohandatud sobitajaid, kasutades meetodit `argTat ()`, nõuab liidese "ArgumentMatcher" rakendamine hoolikalt kaalumist, et tagada, et matš käitub erineva stsenaariumi korral ootuspäraselt [2] [4].
6. Integreerimine teiste raamatukogudega: kui kasutada Mockitot teiste raamatukogudega, näiteks Hamcrest, veenduge, et integratsiooni oleks korralikult käsitletud. Näiteks võib Sonarqube märgistada "argthat ()" hamcresti matšide teatud kasutusvõimalusi kui valesid, isegi kui need kehtivad [4].
Kokkuvõtlikult võib öelda, et kuigi Mockito argumentide sobitajad on mitmekülgsed, on nende kasutamine piiratud konkreetse kontekstiga ja nõuab meetodi argumentide järjepidevust. Lisaks ei ületa nad Mockito põhilisi piiranguid teatud meetodite või klasside osas.
Tsitaadid:[1] https://groups.google.com/g/mockito/c/ul9ymczqnky
[2] https://kenkousen.substack.com/p/tales-from-the-jar-wide-amockito
[3] https://ioflood.com/blog/mockito/
]
[5] https://groups.google.com/g/mockito/c/zi6pcqudtco
]
]
[8] https://www.baeldung.com/mockito-argument-ghercers