logo

Metode Mockita

Ogrodje Mockito ponuja različne metode, kot so mock(), verify(), when() itd., ki se uporabljajo za testiranje aplikacij Java. Z uporabo teh vnaprej določenih metod je testiranje zelo enostavno.

Kratek opis metod Mockito je podan spodaj:

razlika med gigabajtom in megabajtom

Metoda Mockito mock().

Uporablja se za ustvarjanje lažnih objektov danega razreda ali vmesnika. Mockito vsebuje pet posmeh() metode z različnimi argumenti. Če posmehom nismo dodelili ničesar, bodo vrnili privzete vrednosti. Vseh pet metod opravlja isto funkcijo norčevanja iz predmetov.

Sledijo metode mock() z različnimi parametri:

    metoda mock() z razredom:Uporablja se za ustvarjanje lažnih objektov konkretnega razreda ali vmesnika. Kot parameter vzame razred ali ime vmesnika.
    Sintaksa: mock (razred classToMock)metoda mock() z odgovorom:Uporablja se za ustvarjanje lažnih objektov razreda ali vmesnika z določeno proceduro. Gre za napredno lažno metodo, ki jo je mogoče uporabiti pri delu s starimi sistemi. Kot parameter vzame Answer skupaj z imenom razreda ali vmesnika. Odgovor je naštevanje vnaprej konfiguriranih lažnih odgovorov.
    Sintaksa: mock(razred classToMock, odgovor defaultAnswer)metoda mock() z MockSettings:Uporablja se za ustvarjanje lažnih objektov z nekaterimi nestandardnimi nastavitvami. MockSettings vzame kot dodaten parameter nastavitve skupaj z imenom razreda ali vmesnika. MockSettings omogoča ustvarjanje lažnih objektov z dodatnimi nastavitvami.
    Sintaksa: mock(razred classToMock, MockSettings mockSettings)metoda mock() z ReturnValues:Omogoča ustvarjanje lažnih objektov danega razreda ali vmesnika. Zdaj je zastarel, saj so povratne vrednosti nadomeščene z odgovorom.
    Sintaksa: mock(Class classToMock, ReturnValues ​​returnValues)metoda mock() z nizom:Uporablja se za ustvarjanje lažnih objektov z navedbo lažnih imen. Pri odpravljanju napak je poimenovanje lažnih objektov lahko koristno, medtem ko je uporaba z veliko in kompleksno kodo slaba izbira.
    Sintaksa: mock(razred classToMock, ime niza)

Naslednji delček kode prikazuje, kako uporabljati posmeh() metoda:

 ToDoService doService = mock(ToDoService.class); 

Metoda Mockito when().

Omogoča metode zabijanja. Uporabiti ga je treba, ko želimo posmehljivo vrniti določene vrednosti, ko so priklicane določene metode. Preprosto povedano, ' Kdaj se pokliče metoda XYZ(), potem vrni ABC.' Večinoma se uporablja, ko obstaja nek pogoj za izvedbo.

Sintaksa: when(T methodCall)

Naslednji delček kode prikazuje, kako uporabiti metodo when():

 when(mock.someCode ()).thenReturn(5); 

V zgornji kodi je thenReturn() se večinoma uporablja z kdaj() metoda.

Metoda Mockito verify().

The preveri () metoda se uporablja za preverjanje, ali so določene določene metode poklicane ali ne. Preprosto povedano, potrdi določeno vedenje, ki se je zgodilo enkrat v testu. Uporablja se na dnu testne kode za zagotovitev klica definiranih metod.

Ogrodje Mockito spremlja vse klice metod z njihovimi parametri za mocking objekte. Po norčevanju lahko z metodo verify() preverimo, ali so definirani pogoji izpolnjeni ali ne. Ta vrsta testiranja je včasih znana kot vedenjsko testiranje. Preveri, ali je metoda klicana s pravimi parametri, namesto da preveri rezultat klica metode.

Metoda verify() se uporablja tudi za testiranje števila klicev. Tako lahko preizkusimo natančno število klicev z uporabo krat metoda, vsaj enkrat metoda, in kvečjemu metoda za posmehljivo metodo.

V razredu Mockito sta na voljo dve vrsti metod verify(), ki sta navedeni spodaj:

    metoda verify():Preveri, da se je neko vedenje zgodilo enkrat.
    Sintaksa: preveri (T mock)metoda verify() z VerificationMode:Preveri, da se je neko vedenje zgodilo vsaj enkrat, točno število krat ali nikoli.
    Sintaksa: preveri (T mock, način VerificationMode)

Metoda Mockito spy().

Mockito ponuja metodo za delno norčevanje iz predmeta, ki je znana kot vohun metoda. Pri uporabi vohunske metode obstaja resničen predmet in iz tega resničnega predmeta so ustvarjeni vohuni ali škrbine. Če metode ne zataknemo z uporabo spy, bo poklicala vedenje prave metode. Glavna funkcija metode spy() je, da preglasi specifične metode pravega predmeta. Ena od funkcij metode spy() je, da preveri priklic določene metode.

V razredu Mockito sta na voljo dve vrsti metod spy():

    metoda spy():Ustvari vohun pravega predmeta. Vohunska metoda kliče resnične metode, razen če so zagozdene. Prave vohune bi morali uporabljati previdno in občasno, na primer pri delu s podedovano kodo.
    Sintaksa: vohun (T objekt)metoda spy() z razredom:Namesto predmeta ustvari vohunski objekt, ki temelji na razredu. Metoda spy(T object) je še posebej uporabna za vohunjenje abstraktnih razredov, ker jih ni mogoče instancirati.
    Sintaksa: vohun (razred classToSpy)

Naslednji delček kode prikazuje, kako uporabljati metodo spy():

 List spyArrayList = spy(ArrayList.class); 

Metoda Mockito reset().

Metoda Mockito reset() se uporablja za ponastavitev ponaredkov. Uporablja se predvsem za delo z brizganimi posodami. Ponavadi metoda reset() povzroči dolgotrajno kodo in slabe teste. Bolje je ustvariti nove ponaredke, namesto da uporabite metodo reset(). Zato se metoda reset() redko uporablja pri testiranju.

Podpis metode reset() je:

centos proti rhel
 public static void reset(T ... mocks) { MOCKITO_CORE.reset(mocks); } 

Metoda Mockito verifyNoMoreInteractions().

Uporablja se za preverjanje, ali ima katera od danih ponaredkov kakšne nepreverjene interakcije. To metodo lahko uporabimo potem, ko preverimo vse ponaredke, da se prepričamo, da na ponaredkih ni bilo priklicanega nič drugega. Zazna tudi nepreverjene klice, ki se pojavijo pred testno metodo, na primer v metodi setup(), @Before ali konstruktorju. Je neobvezna metoda in nam je ni treba uporabiti pri vsakem testu.

Podpis metode verifyNoMoreInteractions() je:

 public static void verifyNoMoreInteractions(Object... mocks) { MOCKITO_CORE.verifyNoMoreInteractions(mocks); } 

Metoda Mockito verifyZeroInteractions().

Preveri, da ni prišlo do nobene interakcije na danih modelih. Zazna tudi klice, ki so se zgodili pred testno metodo, na primer v metodi setup(), @Before ali konstruktorju.

Podpis metode verifyZeroInteractions() je:

 public static void verifyZeroInteractions(Object... mocks) { MOCKITO_CORE.verifyNoMoreInteractions(mocks); } 

Metoda Mockito doThrow().

Uporablja se, ko zavržete metodo void, da vržete izjemo. Za vsak priklic metode ustvari nov primerek izjeme. V razredu Mockito sta na voljo dve vrsti metod doThrow() z različnimi parametri, kot je prikazano spodaj:

    doThrow() metoda s Throwable:Ta metoda se uporablja, ko želimo metodo void strniti z izjemo. Sintaksa: doThrow (vreči, da se vrže)
    Podpis metode doThrow() je:
 public static Stubber doThrow(Throwable toBeThrown) { return MOCKITO_CORE.doAnswer(new ThrowsException(toBeThrown)); } 
    metoda doThrow() z razredom:Ta metoda se uporablja, ko želimo zapreti metodo void, da vržemo izjemo določenega razreda.
    Sintaksa: doThrow(Razred, ki bo vržen)
    Podpis metode doThrow() je:
 public static Stubber doThrow(Class toBeThrown) { return MOCKITO_CORE.doAnswer(new ThrowsExceptionClass(toBeThrown)); } 

Metoda Mockito doCallRealMethod().

Uporablja se, ko želimo poklicati pravo izvedbo metode. Z drugimi besedami, uporablja se za ustvarjanje delnih ponaredkov predmeta. Uporablja se v redkih situacijah, na primer za klic pravih metod. Podobna je metodi spy() in edina razlika je v tem, da povzroči zapleteno kodo.

Podpis metode doCallRealMethod() je:

 public static Stubber doCallRealMethod() { return MOCKITO_CORE.doAnswer(new CallsRealMethods()); } 

Metoda Mockito doAnswer().

Uporablja se, ko želimo zamašiti metodo void z generično vrsto odgovora. Podpis metode doAnswer() je:

 public static Stubber doAnswer(Answer answer) { return MOCKITO_CORE.doAnswer(answer); } 

Metoda Mockito doNothing().

Uporablja se za nastavitev void metod, da ne naredijo ničesar. Metoda doNothing() se uporablja v redkih situacijah. Privzeto metode void na lažnih primerkih ne naredijo ničesar, kar pomeni, da se ne izvede nobena naloga.

Podpis metode doNothing() je:

 public static Stubber doNothing() { return MOCKITO_CORE.doAnswer(new DoesNothing()); } 

Metoda Mockito doReturn().

Uporablja se v tistih redkih primerih, ko ne moremo uporabiti Mockito.when(object). Metoda Mockito.when(object) je vedno predlagana za strinjanje, ker je varna glede tipov argumentov in je bolj berljiva v primerjavi z metodo doReturn().

Podpis metode doReturn() je:

 public static Stubber doReturn(Object toBeReturned) { return MOCKITO_CORE.doAnswer(new Returns(toBeReturned)); } 

Metoda Mockito inOrder().

Uporablja se za ustvarjanje objektov, ki omogočajo preverjanje ponaredkov v določenem vrstnem redu. Preverjanje po vrstnem redu je bolj prilagodljivo, saj nam ni treba preverjati vseh interakcij. Preveriti moramo samo tiste interakcije, ki jih zanima testiranje (po vrstnem redu). Uporabimo lahko tudi metodo inOrder(), da ustvarimo objekt inOrder, ki posreduje posmehe, ki so pomembni za preverjanje po vrstnem redu.

Podpis metode Mockito.inOrder() je:

 public static InOrder inOrder(Object... mocks) { return MOCKITO_CORE.inOrder(mocks); } 

Metoda Mockito ignoreStubs().

Uporablja se za ignoriranje neuporabnih metod danih ponaredkov za preverjanje. Uporaben je pri metodah verifyNoMoreInteraction() ali verification inOrder(). Pomaga tudi pri izogibanju odvečnemu preverjanju zavrnjenih klicev.

Podpis metode ignoreStubs() je:

 public static Object[] ignoreStubs(Object... mocks) { return MOCKITO_CORE.ignoreStubs(mocks); } 

Metoda Mockito times().

Uporablja se za preverjanje natančnega števila klicev metode, kar pomeni, da navede, kolikokrat je metoda klicana. Podpis metode times() je:

char v celo število java
 public static VerificationMode times(int wantedNumberOfInvocations) { return VerificationModeFactory.times(wantedNumberOfInvocations); } 

Metoda Mockito never().

Uporablja se za preverjanje, ali do interakcije ni prišlo. Podpis metode never() je:

 public static VerificationMode never() { return times(0); } 

Metoda Mockito atLeastOnce().

Uporablja se za preverjanje klicanja vsaj enkrat, kar pomeni, da je treba metodo poklicati vsaj enkrat.

Podpis metode atLeastOnce() je:

 public static VerificationMode atLeastOnce() { return VerificationModeFactory.atLeastOnce(); } 

Metoda Mockito atLeast().

Uporablja se za preverjanje klica vsaj x-krat. Na primer, podano atLeast(3) pomeni, da bo metoda poklicala najmanj trikrat.

Podpis metode atLeast() je:

 public static VerificationMode atLeast(int minNumberOfInvocations) { return VerificationModeFactory.atLeast(minNumberOfInvocations); } 

Metoda Mockito atMost().

Uporablja se za preverjanje klica največ x-krat. Na primer, podano atMost(3) pomeni, da bo metoda poklicala največ trikrat.

Podpis metode atMost() je:

 public static VerificationMode atMost(int maxNumberOfInvocations) { return VerificationModeFactory.atMost(maxNumberOfInvocations); } 

Mockito calls() metoda

Omogoča nepohlepno preverjanje v redu. Uporablja se lahko le z metodo preverjanja inOrder(). Na primer, inOrder.verify(mock, calls(3)).xyzMethod('...');

Podpis metode calls() je:

 public static VerificationMode calls( int wantedNumberOfInvocations ){ return VerificationModeFactory.calls( wantedNumberOfInvocations ); } 

Metoda Mockito only().

Preveri, ali je bila podana metoda edina priklicana metoda. Podpis metode only() je:

primerljiv niz
 public static VerificationMode only() { return VerificationModeFactory.only(); } 

Metoda Mockito timeout().

Mockitu omogoča izvajanje preverjanja s časovno omejitvijo. Preverjanju naroči, naj počaka določeno časovno obdobje za določeno interakcijo, namesto da takoj spodleti. Lahko je koristno za testiranje v obstoječih situacijah.

Metoda timeout() se razlikuje od metode after(), saj metoda after() čaka na celotno obdobje, razen če je deklariran končni rezultat, medtem ko se bo metoda timeout() ustavila takoj, ko bo preverjanje opravljeno. Redko se uporablja pri testiranju.

Podpis metode timeout() je:

 public static VerificationWithTimeout timeout(long millis) { return new Timeout(millis, VerificationModeFactory.times(1)); } 

Metoda Mockito after().

Mockitu omogoča preverjanje v določenem časovnem obdobju. Razpravljali smo že o tem, da se metoda after() razlikuje od metode timeout().

Podpis metode after() je:

 public static VerificationAfterDelay after(long millis) { return new After(millis, VerificationModeFactory.times(1)); } 

Metoda Mockito validateMockitoUsage().

Uporablja se za izrecno preverjanje stanja ogrodja za odkrivanje neveljavne uporabe ogrodja Mockito. Je neobvezna funkcija Mockita, ker ves čas preverja uporabo. Tako vgrajeni tekalnik (MockitoJUnitRunner) kot pravilo (MockitoRule) po vsaki preskusni metodi pokličeta metodo validateMockitoUsage().

Podpis metode validateMockitoUsage() je:

 public static void validateMockitoUsage() { MOCKITO_CORE.validateMockitoUsage(); } 

Metoda Mockito withSettings().

Uporablja se za ustvarjanje mockov z dodatnimi nastavitvami mockov. Občasno ga je treba uporabiti pri testiranju. Namesto uporabe metode withSettings(), ustvarite preproste teste z uporabo preprostih ponaredkov. Glavni razlogi za uporabo MockSettings so

  • Z uporabo MockSetting lahko enostavno dodamo druge lažne nastavitve, ko je to potrebno.
  • Združuje različne lažne nastavitve, ne da bi pokvaril kodo.

Podpis metode withSettings() je:

 public static MockSettings withSettings() { return new MockSettingsImpl().defaultAnswer(RETURNS_DEFAULTS); }