Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kāda ir atšķirība starp laikiem (n) un vismaz (n) Mockito verifikācijas metodē


Kāda ir atšķirība starp laikiem (n) un vismaz (n) Mockito verifikācijas metodē


Mockito `laiki (n)` un `vismaz (n)` tiek izmantoti metodē "verificēt", lai pārbaudītu, cik reizes metode tiek izsaukta uz izspēles objektu. Šeit ir detalizēts katra skaidrojums:

Times (n)

- Mērķis: Šī metode pārbauda, ​​vai metodi sauc tieši `n` laiki. Ja metodi sauc par vairāk vai mazāk nekā `n` laikiem, pārbaude neizdosies.
- Piemērs: "VERIFY (MOCK, Time (2)). Somemethod ();" nodrošina, ka "somemethod ()" tiek saukts precīzi divreiz.
- Lietošanas gadījums: izmantojiet, kad jums ir jānodrošina precīzs skaits izsaukumu.

vismaz (n)

- Mērķis: Šī metode pārbauda, ​​vai metodi sauc vismaz `n` laiki. Ja metodi sauc par mazāk nekā `n` laikiem, tests neizdosies, bet tā pāries, ja to sauc par vairāk nekā` n` laikiem.
- Piemērs: "VERIFY (izspēlē, vismaz (2)). SomeMethod ();" nodrošina, ka "somemethod ()" tiek saukts vismaz divreiz.
- Lietošanas gadījums: izmantojiet, kad vēlaties nodrošināt minimālu izsaukumu skaitu, bet jums nerūp maksimums.

Galvenās atšķirības

- Precīzs pret minimumu: "Laiks (n)" prasa precīzu zvanu skaitu, savukārt `vismaz (n)` prasa vismaz šo zvanu skaitu.
- Elastība: `Vista (n)` ir elastīgāks, jo tas ļauj veikt vairāk zvanu, nekā norādīts, turpretī `laiki (n)` stingri attiecas uz zvanu skaitu.
- Kļūdu apstrāde: ja metodi sauc par vairāk reižu, nekā norādīts ar `Times (n)`, Mockito izmetīs izņēmumu (`ToomanyActualInvocations`). Ar `vismaz (n)` tas neizdosies tikai tad, ja šo metodi sauc par mazāk reižu, nekā norādīts (`ToolittleActalInvocations`).

Rezumējot, "laiki (n)" tiek izmantoti precīzai kontrolei pār metodes izsaukumu skaitu, savukārt `vismaz (n)` tiek izmantots, lai nodrošinātu minimālo izsaukumu slieksni, neierobežojot maksimālo zvanu skaitu.

Atsauces:
[1.]
[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.]
[7] https://www.digitalocean.com/community/tutorials/mockito-verify
[8] https://stackoverflow.com/questions/27787487/java-verify-void-thod-calls-n-times-with-mockito
[9] https://www.javacodegeks.com/2015/11/mockito-verifikācija.html
[10] https://stackoverflow.com/questions/54233024/how-to-Verify-- --metod-which-was-called-multiple-times/54233921