Mokito sistēma

Datorprogrammās Java lietojumprogrammu testēšanai tiek izmantota Mokito sistēma. Šī ir atvērtā koda / bezmaksas sistēma, kas ir pieejama lejupielādei. Būtībā tā ir testēšanas sistēma, kas palīdz kļūdu noteikšanā. Mokito ieviešana kā izsmiekls rāmis darbojas, lai radītu “Test Double” objektus, proti, izspēles objektus, nodrošina to, ka mocks mijiedarbība joprojām ir pareiza.

Ievads

Mokito ir Java programmu testēšanas sistēma. Tas simulē sarežģītu objektu uzvedību un atvieglo vienību testēšanas un kļūdu atklāšanas attīstību.

Mockito ir OpenSource un ir pieejams šādā adresē: //mockito.org/.

Mockito balstās uz mock objekta principu, kas simulē cita objekta uzvedību.

Mockito testēšana tiek veikta vairākos posmos:

  • Izspēles objekta radīšana
  • Paredzētās uzvedības apraksts
  • Izmantojot mock
  • Pārbaudiet, vai mock mijiedarbība ir pareiza

Piemērs

 public class ClassA {public ClassA () {} publiskās spēkā neesamības fonc1 () {} publiskā tukšuma fonc2 () {} publiskā int fonc3 (int a, int b) {return a + b; }} publiskā klase ClassB {ClasseA ca; publiska ClassA getCa () {return ca; } publiskā spēkā neesamība setCa (ClassA ca) {this.ca = ca; } public ClassB () {ca = jauns ClassA (); } public void met1 () {ca.fonc1 (); ca.fonc1 (); System.out.println (ca.fonc3 (5, 6)); } public void met2 () {ca.fonc2 (); }} 

Vienības testēšanas klases klase B:

 importēt statisko org.mockito.Mockito.mock; importēt org.mockito.Mockito; public class Test {public static void main (String [] args) {ClassA ca = izspēles (ClassA.class); ClassB cb = jauns ClassB (); cb.setCa (ca); cb.met1 (); Mockito.verify (ca, Mockito.times (2)) fonc1 (); Mockito.verify (ca, Mockito.times (1)) fonc3 (Mockito.anyInt (), Mockito.anyInt ()); }} 

Kodu analīze:

ClassA ca = izspēle (ClassA.class);

=> Tas rada AC, izspēles klases ClassA.

cb.setCa (ca);

=> Tas ietekmē ca objektu uz cb objektu.

cb.met1 ();

=> Aicina objektu ar metodi cb met1 ().

Mockito.verify (ca Mockito.times (2)).

=> Pārbauda, ​​vai izsaukuma ca func1 metode tiek izsaukta divreiz.

Mockito.verify (ca, Mockito.times (1)) fonc3 (Mockito.anyInt (), Mockito.anyInt ());

=> Pārbauda, ​​vai mock func3 ca metodi sauc tikai vienu reizi par diviem veseliem skaitļiem.

Kad pārbaude neizdodas, tiek izveidots izņēmums.

Piemērs:

Mockito.verify (ca, Mockito.atLeast (1)) fonc2 ();

=> Šī rinda rada šādu izņēmumu:

Izņēmums pavedienā "galvenais" Vēlams, bet netiek izmantots:

 classA.fonc2 (); -> vietnē Test01.main (Test01.java:16) 

==> Tas norāda, ka metode func2 () izspiež AC nav zināms.

Varat arī mainīt no funkcijas atgrieztos rezultātus.

 System.out.println ("Ca.fonc (3, 3) rezultāts ir" + ca.fonc3 (3, 3)); Mockito.when (ca.fonc3 (Mockito.anyInt (), Mockito.anyInt ())), tad atcelt (Integer.valueOf (5)); System.out.println ("Ca.fonc (3, 3) rezultāts ir" + ca.fonc3 (3, 3)); 

Kodu analīze:

 Mockito.when (ca.fonc3 (Mockito.anyInt (), Mockito.anyInt ())). tadReturn (Integer.valueOf (5)); 

# Funkcijas fonc3 (izspēles) atgriešanās vērtība bija 0 .

Mēs to piespiežam uz 5 .

Tas ir īpaši noderīgi, lietojot funkcijas, kas satur vairākas funkcijas (apstākļus, cilpas utt.), Un mēs vēlamies pārbaudīt jebkuras funkcijas darbību. Tāpēc mums ir jākonfigurē šajā funkcijā izmantotie gliemeži tā, lai tas atbilstu visiem šiem nosacījumiem.

Padoms no wjaouadi.

Iepriekšējais Raksts Nākamais Raksts

Top Padomi