Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kuo skiriasi tarp laikų (n) ir mažiausiai (n) „Mockito“ patikrinimo metodo


Kuo skiriasi tarp laikų (n) ir mažiausiai (n) „Mockito“ patikrinimo metodo


„Mockito“, `laike (n)` ir `mažiausiai (n)` yra naudojami „Patikrinkite“ metodą, kad patikrintų, kiek kartų metodas vadinamas pavyzdžio objektu. Čia pateiktas išsamus kiekvieno paaiškinimas:

Times (N)

- Tikslas: Šis metodas patikrina, ar metodas vadinamas tiksliai „n“ laikais. Jei metodas bus vadinamas daugiau ar mažiau nei „n“ laikais, testas nepavyks.
- Pavyzdys: „Patikrinkite (tyčiojasi, laikai (2)). Somemethod ();` užtikrina, kad „Somemethod ()` “vadinama tiksliai du kartus.
- Naudokite atvejį: Naudokite, kai reikia užtikrinti tikslų kvietimų skaičių.

ATLEST (N)

- Tikslas: Šis metodas patikrina, ar metodas vadinamas bent „n“ laikais. Jei metodas bus vadinamas mažiau nei „n“ laikais, testas nepavyks, tačiau jis praeis, jei jis bus vadinamas daugiau nei „n“ laikais.
- Pavyzdys: „Patikrinkite (tyčiojimasis, mažiausias (2)). Somemethod ();„ užtikrina, kad „Somemethod ()“ yra vadinamas bent du kartus.
- Naudokite atvejį: naudokite, kai norite užtikrinti minimalų kvietimų skaičių, tačiau nesirūpinkite maksimaliu.

Pagrindiniai skirtumai

- Tikslus ir minimalus: `Laikas (n)` reikalauja tikslaus skambučių skaičiaus, o „mažiausiai (n)“ reikia bent to skambučių skaičiaus.
- Lankstumas: `mažiausiai (n)` yra lankstesnis, nes tai leidžia gauti daugiau skambučių nei nurodyti, tuo tarpu „laikai (n)“ yra griežtas skambučių skaičiaus.
- Klaidų tvarkymas: Jei metodas vadinamas daugiau kartų nei nurodytas su „Times (n)“, „Mockito“ išmes išimtį („ToomanyactualInvocations“). Naudojant `mažiausiai (n)`, jis nepavyks tik tuo atveju, jei metodas bus vadinamas mažiau kartų nei nurodytas (`TOUNTITTLEACTUALINVOCATIONS“).

Apibendrinant galima pasakyti, kad „laikai (n)“ yra naudojami tiksliai valdyti metodo skambučių skaičių, o „mažiausiai (n)“ naudojamas siekiant užtikrinti minimalų skambučių ribą, neribojant maksimalaus skambučių skaičiaus.

Citatos:
[1] https://stackoverflow.com/questions/58176580/what-is-the-difference-between-atleastonce-and-idimes1-in-Mockito
[2] https://mincong.io/2019/09/22/mockito-verify/
[3] https://github.com/mock/mockk
[4] https://site.mockito.org/javadoc/current/org/mockito/mockito.html
[5] https://www.lambdatest.com/automation-testing-advisor/selenium/methods/org.mockito.mockito.atleast
[6] https://stackoverflow.com/questions/60969650/use-of-verify-method-with ir-without-imes1-parameter
[7] https://www.digitalocean.com/community/tutorials/mockito-verify
[8] https://stackoverflow.com/questions/27787487/java-verify-void-method-calls-nimes-with-mocko
[9] https://www.javacodegeeks.com/2015/11/mockito-verification.html
[10] https://stackoverflow.com/questions/54233024/how-to-overify-a-method-wich was-called-multiple-imes/54233921