logo

Mockito metodai

Mockito sistema siūlo įvairius metodus, tokius kaip mock(), verify(), kada() ir kt., naudojamų Java programoms išbandyti. Naudojant šiuos iš anksto nustatytus metodus, testavimas yra labai paprastas.

Žemiau pateikiamas trumpas Mockito metodų aprašymas:

apache

Mockito mock() metodas

Jis naudojamas tam tikros klasės ar sąsajos netikriems objektams kurti. Mockito yra penki pasityčioti () metodai su skirtingais argumentais. Kai juokams nieko nepriskyrėme, jie grąžins numatytąsias reikšmes. Visi penki metodai atlieka tą pačią tyčiojimosi iš objektų funkciją.

Toliau pateikiami mock() metodai su skirtingais parametrais:

    Mock() metodas su klase:Jis naudojamas tam tikros klasės arba sąsajos imituotiems objektams kurti. Kaip parametras yra klasės arba sąsajos pavadinimas.
    Sintaksė: pasityčiojimas (klasės klasė į pasityčiojimą)Mock() metodas su atsakymu:Jis naudojamas klasės ar sąsajos modeliams sukurti naudojant tam tikrą procedūrą. Tai pažangus bandomasis metodas, kurį galima naudoti dirbant su senomis sistemomis. Atsakymas naudojamas kaip parametras kartu su klasės arba sąsajos pavadinimu. Atsakymas yra iš anksto sukonfigūruotų netikrų atsakymų sąrašas.
    Sintaksė: pajuoka (klasės klasė į apgaudinėjimą, atsakymo numatytasis atsakymas)Mock() metodas su MockSettings:Jis naudojamas norint sukurti netikrus objektus su kai kuriais nestandartiniais parametrais. MockSettings naudojamas kaip papildomas nustatymo parametras kartu su klasės arba sąsajos pavadinimu. MockSettings leidžia kurti netikrus objektus su papildomais parametrais.
    Sintaksė: mock (Class classToMock, MockSettings mockSettings)Mock() metodas su ReturnValues:Tai leidžia sukurti tam tikros klasės ar sąsajos netikrus objektus. Dabar jis nebenaudojamas, nes „ReturnValues“ yra pakeistas į „Answer“.
    Sintaksė: maketas (Class classToMock, ReturnValues ​​returnValues)Mock() metodas su eilute:Jis naudojamas netikriems objektams kurti, nurodant netikrus pavadinimus. Derinant gali būti naudinga pavadinti netikrus objektus, tuo tarpu tai yra blogas pasirinkimas naudojant didelį ir sudėtingą kodą.
    Sintaksė: apgaulė (klasės klasė į pasimetimą, eilutės pavadinimas)

Toliau pateiktame kodo fragmente parodyta, kaip naudoti pasityčioti () metodas:

 ToDoService doService = mock(ToDoService.class); 

Mockito kada() metodas

Tai įgalina stūmimo būdus. Jis turėtų būti naudojamas, kai norime pasityčioti, norėdami grąžinti konkrečias reikšmes, kai iškviečiami konkretūs metodai. Paprastais žodžiais tariant, Kada vadinamas XYZ() metodas, tada grąžinti ABC.' Jis dažniausiai naudojamas, kai yra tam tikros sąlygos.

Sintaksė: kada(T metodasCall)

Šis kodo fragmentas parodo, kaip naudoti kada() metodą:

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

Aukščiau pateiktame kode thenReturn () dažniausiai naudojamas su kada() metodas.

Mockito verify() metodas

The patikrinti () metodas naudojamas patikrinti, ar kai kurie nurodyti metodai yra iškviesti, ar ne. Paprastai tariant, jis patvirtina tam tikrą elgesį, kuris įvyko vieną kartą atliekant bandymą. Jis naudojamas testavimo kodo apačioje, siekiant užtikrinti, kad apibrėžti metodai būtų iškviesti.

Mockito framework seka visus metodų iškvietimus su jų parametrais, skirtais tyčiotis iš objektų. Pasityčioję, galime patikrinti, ar nustatytos sąlygos tenkinamos, ar ne, naudodami verify() metodą. Šio tipo bandymai kartais vadinami elgesio testavimas. Jis patikrina, ar metodas iškviestas su tinkamais parametrais, o ne tikrina metodo iškvietimo rezultatą.

Verify() metodas taip pat naudojamas iškvietimų skaičiui patikrinti. Taigi galime patikrinti tikslų iškvietimų skaičių naudodami kartų metodas, bent kartą metodas, ir daugiausia metodas už pašaipą metodą.

Mockito klasėje yra dviejų tipų verify() metodai, kurie pateikiami toliau:

    patvirtinimo() metodas:Tai patvirtina, kad tam tikras elgesys įvyko vieną kartą.
    Sintaksė: patvirtinti (T tyčiojimasis)verify() metodas su VerificationMode:Tai patvirtina, kad tam tikras elgesys įvyko bent kartą, tikslų kartų skaičių arba niekada.
    Sintaksė: patvirtinti (T maketas, Patvirtinimo režimo režimas)

Mockito spy() metodas

„Mockito“ suteikia galimybę iš dalies tyčiotis iš objekto, kuris yra žinomas kaip „ šnipas metodas. Naudojant šnipinėjimo metodą, egzistuoja tikras objektas, o iš to tikrojo objekto sukuriami šnipai arba šnipai. Jei nesugadinsime metodo naudodami šnipinėjimą, jis vadins tikrąjį metodo elgesį. Pagrindinė spy() metodo funkcija yra ta, kad jis nepaiso specifinių tikrojo objekto metodų. Viena iš spy() metodo funkcijų yra patikrinti tam tikro metodo iškvietimą.

Mockito klasėje yra dviejų tipų spy() metodai:

    spy() metodas:Tai sukuria tikrojo objekto šnipą. Šnipinėjimo metodas iškviečia tikrus metodus, nebent jie yra sugadinti. Tikruosius šnipus turėtume naudoti atsargiai ir retkarčiais, pavyzdžiui, dirbdami su senuoju kodu.
    Sintaksė: šnipas (T objektas)spy() metodas su klase:Jis sukuria šnipinėjimo objektą pagal klasę, o ne objektą. Šnipinėjimo (T objekto) metodas yra ypač naudingas šnipinėjant abstrakčias klases, nes jų negalima sukurti.
    Sintaksė: šnipas (Class classToSpy)

Šis kodo fragmentas parodo, kaip naudoti spy() metodą:

 List spyArrayList = spy(ArrayList.class); 

Mockito reset() metodas

Mockito reset() metodas naudojamas iš naujo nustatyti maketus. Jis daugiausia naudojamas darbui su injekciniais maketais. Paprastai, naudojant reset() metodą, kodas yra ilgas ir bandymai yra prasti. Geriau kurti naujus modelius, o ne naudoti reset() metodą. Štai kodėl reset() metodas bandymams naudojamas retai.

Reset() metodo parašas yra:

jei dar teiginiai java
 public static void reset(T ... mocks) { MOCKITO_CORE.reset(mocks); } 

Mockito verifyNoMoreInteractions() metodas

Jis naudojamas patikrinti, ar bet kuris iš pateiktų maketų turi nepatvirtintų sąveikų. Šį metodą galime naudoti patikrinę visą pavyzdį, kad įsitikintume, jog maketuose nebuvo panaudota nieko daugiau. Ji taip pat aptinka nepatvirtintus iškvietimus, atsirandančius prieš bandymo metodą, pavyzdžiui, setup(), @Before metodu arba konstruktoriumi. Tai neprivalomas metodas ir mums nereikia jo naudoti kiekviename bandyme.

Metodo verifyNoMoreInteractions() parašas yra:

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

Mockito verifyZeroInteractions() metodas

Jis patikrina, ar su nurodytais maketais neįvyko jokia sąveika. Jis taip pat aptinka iškvietimus, įvykusius prieš bandymo metodą, pavyzdžiui, setup(), @Before metodu arba konstruktoriumi.

VerifyZeroInteractions() metodo parašas yra:

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

Mockito doThrow() metodas

Jis naudojamas, kai panaikinamas tuščias metodas, norint padaryti išimtį. Kiekvienam metodo iškvietimui sukuriamas naujas išimties pavyzdys. Mockito klasėje yra dviejų tipų doThrow() metodai su skirtingais parametrais, kaip parodyta toliau:

    doThrow() metodas su Throwable:Šis metodas naudojamas, kai norime panaikinti tuščią metodą su išimtimi. Sintaksė: doThrow (išmestas, kad būtų mestas)
    DoThrow() metodo parašas yra:
 public static Stubber doThrow(Throwable toBeThrown) { return MOCKITO_CORE.doAnswer(new ThrowsException(toBeThrown)); } 
    doThrow() metodas su klase:Šis metodas naudojamas, kai norime užblokuoti galiojantį metodą, kad padarytume nurodytos klasės išimtį.
    Sintaksė: doThrow (klasė, kurią reikia mesti)
    DoThrow() metodo parašas yra:
 public static Stubber doThrow(Class toBeThrown) { return MOCKITO_CORE.doAnswer(new ThrowsExceptionClass(toBeThrown)); } 

Mockito doCallRealMethod() metodas

Jis naudojamas, kai norime vadinti tikrąjį metodo įgyvendinimą. Kitaip tariant, jis naudojamas daliniams objekto muliažams sukurti. Jis naudojamas retomis situacijomis, pavyzdžiui, norint vadinti tikrus metodus. Jis panašus į spy() metodą, o vienintelis skirtumas yra tas, kad jis sukuria sudėtingą kodą.

Metodo doCallRealMethod() parašas yra:

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

Mockito doAnswer() metodas

Jis naudojamas, kai norime panaikinti galiojimo metodą bendruoju atsakymo tipu. Metodo doAnswer() parašas yra:

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

Mockito doNothing() metodas

Jis naudojamas tuščių metodų nustatymui nieko nedaryti. Nedaryti nieko() metodas naudojamas retais atvejais. Pagal numatytuosius nustatymus negaliojantys metodai netikruose egzemplioriuose nieko nedaro, ty neatliekama jokia užduotis.

DoNothing() metodo parašas yra:

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

Mockito doReturn() metodas

Jis naudojamas tais retais atvejais, kai negalime naudoti Mockito.when(object). Metodas Mockito.when(object) visada siūlomas stabdymui, nes jis yra saugus argumentų tipui ir lengviau skaitomas, palyginti su doReturn() metodu.

DoReturn() metodo parašas yra:

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

Mockito inOrder() metodas

Jis naudojamas kuriant objektus, leidžiančius patikrinti juokelius tam tikra tvarka. Patvirtinimas eilės tvarka yra lankstesnis, nes neturime tikrinti visų sąveikų. Turime patikrinti tik tas sąveikas, kurias domina bandymai (tvarka). Taip pat galime naudoti metodą inOrder() norėdami sukurti inOrder objektą, perduodantį pajuokas, kurios yra svarbios tikrinant užsakymą.

Mockito.inOrder() metodo parašas yra:

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

Mockito ignoreStubs() metodą

Jis naudojamas norint ignoruoti pateiktų pasityčiojimų patikrinimo metodus. Tai naudinga naudojant verifyNoMoreInteractions() arba verification inOrder() metodus. Tai taip pat padeda išvengti perteklinio nutrūkusių skambučių tikrinimo.

Metodo ignoreStubs() parašas yra:

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

Mockito times() metodas

Jis naudojamas norint patikrinti tikslų metodo iškvietimų skaičių, o tai reiškia, kad jis deklaruoja, kiek kartų metodas iškviestas. Time() metodo parašas yra toks:

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

Mockito never() metodas

Jis naudojamas norint patikrinti, ar sąveika neįvyko. Niekada() metodo parašas yra:

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

Mockito atLeastOnce() metodas

Jis naudojamas iškvietimui patikrinti bent vieną kartą, tai reiškia, kad metodas turėtų būti iškviestas bent vieną kartą.

Metodo atLeastOnce() parašas yra:

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

Mockito bent() metodas

Jis naudojamas iškvietimui patikrinti bent x kartų. Pavyzdžiui, nurodyta bent(3) reiškia, kad metodas bus iškviestas mažiausiai tris kartus.

Metodo atLeast() parašas yra:

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

Mockito atMost() metodas

Jis naudojamas iškvietimui patikrinti daugiausia x kartų. Pavyzdžiui, nurodyta atMost(3) reiškia, kad metodas bus iškviestas daugiausia tris kartus.

Metodo atMost() parašas yra:

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

Mockito calls() metodas

Tai leidžia atlikti ne gobšus patikrinimą eilės tvarka. Jis gali būti naudojamas tik su inOrder() patvirtinimo metodu. Pavyzdžiui, inOrder.verify(mock, calls(3)).xyzMethod('...');

Call() metodo parašas yra:

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

Tik Mockito() metodas

Jis patikrina, ar nurodytas metodas buvo vienintelis iškviestas metodas. Vienintelio () metodo parašas yra:

programinės įrangos testavimas ir tipai
 public static VerificationMode only() { return VerificationModeFactory.only(); } 

Mockito timeout() metodas

Tai leidžia Mockito atlikti patikrinimą su skirtuoju laiku. Ji nurodo patvirtinimui laukti tam tikrą laikotarpį, kol bus atlikta tam tikra sąveika, o ne iškart nepavykti. Tai gali būti naudinga atliekant bandymus esamose situacijose.

Metodas timeout() skiriasi nuo after() metodo, nes after() metodas laukia visą laikotarpį, nebent būtų paskelbtas galutinis rezultatas, o timeout() metodas sustos, kai tik praeis patvirtinimas. Jis retai naudojamas bandymuose.

Timeout() metodo parašas yra:

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

Mockito after() metodas

Tai leidžia Mockito patikrinti per tam tikrą laikotarpį. Jau aptarėme, kad after() metodas skiriasi nuo timeout() metodo.

Metodo after() parašas yra:

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

Mockito validateMockitoUsage() metodas

Jis naudojamas aiškiai patvirtinti sistemos būseną, siekiant nustatyti netinkamą Mockito sistemos naudojimą. Tai yra pasirenkama Mockito funkcija, nes ji visą laiką patvirtina naudojimą. Tiek įtaisytasis bėgikas (MockitoJUnitRunner), tiek taisyklė (MockitoRule) po kiekvieno bandymo metodo iškviečia metodą validateMockitoUsage().

ValidateMockitoUsage() metodo parašas yra:

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

Mockito withSettings() metodas

Jis naudojamas sukurti maketus su papildomais maketų nustatymais. Jis turėtų būti naudojamas kartais atliekant bandymus. Užuot naudoję withSettings() metodą, kurkite paprastus testus naudodami paprastus juokelius. Pagrindinės MockSettings naudojimo priežastys yra

  • Naudodami „MockSetting“, prireikus galime lengvai pridėti kitus netikrus nustatymus.
  • Jis sujungia skirtingus netikrus parametrus, nesugadindamas kodo.

Metodo withSettings() parašas yra:

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