Mockitossa `Times (n)` ja `vähintään (n)` käytetään `Vardify` -menetelmässä tarkistaaksesi kuinka monta kertaa menetelmää kutsutaan pilkkaobjektille. Tässä on yksityiskohtainen selitys jokaisesta:
Times (n)
- Tarkoitus: Tämä menetelmä varmistaa, että menetelmää kutsutaan täsmälleen `n` -aikoiksi. Jos menetelmää kutsutaan enemmän tai vähemmän kuin `n` aikoja, testi epäonnistuu.- Esimerkki: `Vahvista (Mock, Times (2)). Somemethod ();` varmistaa, että `somemethod ()` kutsutaan tarkalleen kahdesti.
- Käytä tapausta: Käytä, kun sinun on varmistettava tarkka määrä kutsuja.
ainakin (n)
- Tarkoitus: Tämä menetelmä varmistaa, että menetelmää kutsutaan ainakin `n` kertaa. Jos menetelmää kutsutaan vähemmän kuin `n` kertaa, testi epäonnistuu, mutta se kulkee, jos sitä kutsutaan enemmän kuin` n` aikiksi.- Esimerkki: `Vahvista (pilkkaa, ainakin (2)). Somemethod ();` varmistaa, että `somemethod ()` kutsutaan vähintään kahdesti.
- Käytä tapausta: Käytä, kun haluat varmistaa vähimmäismäärän kutsuja, mutta älä välitä maksimiarvosta.
keskeiset erot
- Tarkka vs. minimi: `Times (n)` vaatii tarkan määrän puheluita, kun taas `vähintään (n)` vaatii ainakin kyseisen määrän puheluita.- Joustavuus: `ainakin (n)` on joustavampi, koska se sallii enemmän puheluita kuin määritettyjä, kun taas `Times (n)` on tiukat puhelujen lukumäärän suhteen.
- Virheenkäsittely: Jos menetelmää kutsutaan useammin kuin määritelty `aikoilla (n)`, Mockito heittää poikkeuksen ("toomanyactualInvocations"). Ainoa (n) ``, se epäonnistuu vain, jos menetelmää kutsutaan vähemmän kuin määritelty ("työkaluistleactualInvocations").
Yhteenvetona voidaan todeta, että "aikoja (n)" käytetään tarkkaan hallitsemaan menetelmäpuhelujen lukumäärää, kun taas 'vähintään (n) `käytetään puhelujen vähimmäiskynnyksen varmistamiseen rajoittamatta puheluiden enimmäismäärää.
Viittaukset:.
[2] https://mincong.io/2019/09/22/mockito-verify/
[3] https://github.com/mockk/mockkk
[4] https://site.mockito.org/javadoc/current/org/mockito/mockito.html
.
.
[7] https://www.digitalocean.com/community/tutorials/mockito-verify
.
[9] https://www.javacodegeeks.com/2015/11/mockito-verification.html
[10.