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:
Sintaksė: pasityčiojimas (klasės klasė į pasityčiojimą)
Sintaksė: pajuoka (klasės klasė į apgaudinėjimą, atsakymo numatytasis atsakymas)
Sintaksė: mock (Class classToMock, MockSettings mockSettings)
Sintaksė: maketas (Class classToMock, ReturnValues returnValues)
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:
Sintaksė: patvirtinti (T tyčiojimasis)
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:
Sintaksė: šnipas (T objektas)
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() metodo parašas yra:
public static Stubber doThrow(Throwable toBeThrown) { return MOCKITO_CORE.doAnswer(new ThrowsException(toBeThrown)); }
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); }