Kun työskentelet Mockiton kanssa, Hamcrestiä käytetään usein sen ilmeikkäisiin sovittajiin, jotka parantavat testien luettavuutta. On kuitenkin vaihtoehtoja, jotka voivat toimia hyvin Mockiton kanssa, jokaisella on omat vahvuutensa ja heikkoutensa.
assertj
ASSERTJ on suosittu vaihtoehto Hamcrestille yksikkötesteissä olevien väitteiden kirjoittamisesta. Se tarjoaa sujuvan sovellusliittymän, jota monet kehittäjät ovat helpompia käyttää ja ilmaisullisempia kuin Hamcrest. ASSERTJ: n syntaksi on usein suositeltavaa sen luettavuutta ja kykyä luoda helposti mukautettuja väitteitä. Vaikka ASSERTJ ei integroitu suoraan Mockiton kanssa, kuten Hamcrest tekee, sitä voidaan käyttää Mockiton rinnalla väitteisiin, mikä tekee testeistä luettavissa ja ylläpidettäviä. ASSERTJ on kuitenkin keskittynyt ensisijaisesti Hamcrestin laajempaan sovitusominaisuuksiin [1] [3].
totuus
Totuus on toinen Googlen kehittämä väite -kirjasto. Se tarjoaa sujuvasti ASSertJ: n samanlaisen sovellusliittymän, mutta keskittyy enemmän IDE: n paremman automaattisen täydennystuen tarjoamiseen, josta voi olla hyötyä käytettävissä olevien väitteiden löytämisessä. Totuutta ei käytetä niin yleisesti Mockiton kanssa kuin Hamcrest, mutta sitä voidaan käyttää testien väitteisiin. Kuten assertj, totuus on keskittynyt enemmän väitteisiin kuin Hamcrest tarjoaa yleisen käyttötarkoituksen [3].
Mockiton sisäänrakennetut sovittajat
Itse Mockito tarjoaa sovittajia, joita voidaan käyttää vuorovaikutuksen hoitamiseen ja varmistamiseen pilkkiobjektien kanssa. Nämä sovittajat palauttavat tyypin, jonka he vastaavat (esim. "Mikä tahansa (kokonaisluku.Class)" palauttaa "kokonaisluku", joka eroaa Hamcrest -sovittajista, jotka palauttavat "vastaajan". Jos haluat käyttää Hamcrest-sovittajia Mockiton kanssa, voit käyttää "argthat` tai" mockitohamcrest.argthat` Hamcrest-ottelijan muuntamiseksi mocto-yhteensopivaksi muotoksi [7].
Mukautetut toteutukset
Skenaarioissa, joissa et halua käyttää ulkoisia kirjastoja, voit toteuttaa omat sovittajat tai väitteet. Tämä lähestymistapa mahdollistaa käyttäytymisen ja syntaksin täydellisen hallinnan, mutta vaatii enemmän vaivaa ja ylläpitoa. Sitä ei yleensä suositella, ellei sinulla ole hyvin erityisiä tarpeita, joita nykyiset kirjastot eivät täytä.
johtopäätös
Vaikka Hamcrestiä käytetään laajasti Mockiton kanssa sen joustavuuden ja ilmaisun vuoksi, vaihtoehdot, kuten AssertJ ja totuus, voivat parantaa testien väitettä. Jos etsit jotain, joka integroituu hyvin Mockiton kanssa sovittamistarkoituksiin, Hamcrest on edelleen vahva valinta, mutta voit käyttää sen sovittajia muiden väite -kirjastojen rinnalla kattavampaan testauskokemukseen. Viime kädessä valinta riippuu erityistarpeistasi ja mieltymyksistäsi luettavuuden, helppokäyttöisyyden ja väitteiden tyypistä tai otteluista, jotka sinun on suoritettava testeissäsi.
Viittaukset:.
[2] https://www.javacodegeeks.com/2015/11/HAMCREST-MATCHers
[3] https://truth.dev/comparison.html
.
.
.
.
.