logo

Mockito metodes

Mockito ietvars nodrošina dažādas metodes, piemēram, mock(), verify(), when() utt., ko izmanto Java lietojumprogrammu testēšanai. Izmantojot šīs iepriekš noteiktās metodes, testēšana ir ļoti vienkārša.

Tālāk ir sniegts īss Mockito metožu apraksts:

saglabāt youtube video vlc

Mockito mock() metode

To izmanto, lai izveidotu noteiktas klases vai interfeisa izspēles objektus. Mockito satur piecus izsmiet () metodes ar dažādiem argumentiem. Ja mēs neko nepiešķīrām izspēlēm, tie atgriezīs noklusējuma vērtības. Visas piecas metodes veic vienu un to pašu objektu izsmiešanas funkciju.

Tālāk ir norādītas mock() metodes ar dažādiem parametriem:

    mock() metode ar klasi:To izmanto, lai izveidotu konkrētas klases vai interfeisa izspēles objektus. Kā parametrs tiek izmantots klases vai interfeisa nosaukums.
    Sintakse: izspēles (Class classTo Mock)mock() metode ar atbildi:To izmanto, lai izveidotu klases vai interfeisa imitācijas objektus ar noteiktu procedūru. Tā ir uzlabota izspēles metode, ko var izmantot, strādājot ar mantotajām sistēmām. Tas ņem atbildi kā parametru kopā ar klases vai interfeisa nosaukumu. Atbilde ir iepriekš konfigurētu viltus atbilžu uzskaitījums.
    Sintakse: izspēles (klases klaseToizsmiet, Atbildes noklusējuma atbilde)mock() metode ar MockSettings:To izmanto, lai izveidotu izspēles objektus ar dažiem nestandarta iestatījumiem. Tas aizņem MockSettings kā papildu iestatījumu parametru kopā ar klases vai interfeisa nosaukumu. MockSettings ļauj izveidot izspēles objektus ar papildu iestatījumiem.
    Sintakse: izspēles (Class classToMock, MockSettings mockSettings)mock() metode ar ReturnValues:Tas ļauj izveidot noteiktas klases vai interfeisa izspēles objektus. Tagad tas ir novecojis, jo ReturnValues ​​ir aizstātas ar Answer.
    Sintakse: izspēles (Class classToMock, ReturnValues ​​returnValues)mock() metode ar virkni:To izmanto, lai izveidotu viltotus objektus, norādot viltotos nosaukumus. Atkļūdošanā var noderēt viltotu objektu nosaukumu piešķiršana, turpretim tā ir slikta izvēle, izmantojot lielu un sarežģītu kodu.
    Sintakse: izspēles (klases klaseToMock, virknes nosaukums)

Šis koda fragments parāda, kā to izmantot izsmiet () metode:

 ToDoService doService = mock(ToDoService.class); 

Mockito when() metode

Tas nodrošina iespiešanas metodes. Tas ir jāizmanto, ja mēs vēlamies izsmiet, lai atgrieztu noteiktas vērtības, kad tiek izsauktas noteiktas metodes. Vienkāršiem vārdiem sakot, ' Kad tiek izsaukta XYZ() metode, tad atgriezt ABC.' To galvenokārt izmanto, ja ir kāds izpildes nosacījums.

Sintakse: kad(T metodeCall)

Šis koda fragments parāda, kā izmantot when() metodi:

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

Iepriekš minētajā kodā thenReturn() galvenokārt tiek izmantots kopā ar kad() metodi.

Mockito verify() metode

The pārbaudīt () metode tiek izmantota, lai pārbaudītu, vai tiek izsauktas dažas norādītās metodes. Vienkārši izsakoties, tas apstiprina noteiktu uzvedību, kas vienreiz notika testā. To izmanto testēšanas koda apakšā, lai nodrošinātu, ka tiek izsauktas noteiktās metodes.

Mockito ietvars izseko visus metožu izsaukumus ar to parametriem, lai izsmietu objektus. Pēc ņirgāšanās mēs varam pārbaudīt, vai noteiktie nosacījumi ir izpildīti, izmantojot verify() metodi. Šāda veida testēšana dažreiz ir pazīstama kā uzvedības pārbaude. Tā pārbauda, ​​vai metode ir izsaukta ar pareizajiem parametriem, nevis pārbauda metodes izsaukuma rezultātu.

Verify() metode tiek izmantota arī, lai pārbaudītu izsaukumu skaitu. Lai mēs varētu pārbaudīt precīzu izsaukumu skaitu, izmantojot reizes metode, vismaz vienreizēja metode, un ne vairāk kā metode par izsmietu metodi.

Mockito klasē ir pieejamas divu veidu verify() metodes, kas ir norādītas tālāk:

    verify() metode:Tas pārbauda noteiktu uzvedību, kas notika vienu reizi.
    Sintakse: pārbaudīt (T izspēles)verify() metode ar VerificationMode:Tas pārbauda, ​​kāda rīcība ir notikusi vismaz vienu reizi, precīzu reižu skaitu vai nekad.
    Sintakse: pārbaudīt (T izspēles, VerificationMode režīms)

Mockito spy() metode

Mockito nodrošina metodi, lai daļēji izsmietu objektu, kas ir pazīstams kā spiegs metodi. Izmantojot spiegošanas metodi, eksistē īsts objekts, un šim reālajam objektam tiek izveidoti spiegi vai spiegi. Ja mēs neapturēsim metodi, izmantojot spiegu, tā izsauks reālo metodes uzvedību. Spy() metodes galvenā funkcija ir tā, ka tā ignorē reālā objekta specifiskās metodes. Viena no spy() metodes funkcijām ir tā, lai pārbaudītu noteiktas metodes izsaukšanu.

Mockito klasē ir pieejamas divu veidu spiegu() metodes:

    spiegu() metode:Tas rada īstā objekta spiegu. Spiegu metode izsauc īstās metodes, ja vien tās nav apgrūtinātas. Mums rūpīgi un laiku pa laikam jāizmanto īstie spiegi, piemēram, strādājot ar mantoto kodu.
    Sintakse: spiegs (T objekts)spy() metode ar klasi:Tas rada spiegošanas objektu, pamatojoties uz klasi, nevis objektu. Spiegu (T objekts) metode ir īpaši noderīga abstraktu klašu izspiegošanai, jo tās nevar izveidot.
    Sintakse: spiegs (Class classToSpy)

Šis koda fragments parāda, kā izmantot spy() metodi:

 List spyArrayList = spy(ArrayList.class); 

Mockito reset() metode

Mockito reset() metode tiek izmantota, lai atiestatītu izspēles. To galvenokārt izmanto darbam ar konteinerā injicētiem izspēles. Parasti atiestatīšanas () metodes rezultāts ir garš kods un sliktas pārbaudes. Labāk ir izveidot jaunus izspēles, nevis izmantot reset() metodi. Tāpēc reset() metode testēšanā tiek izmantota reti.

Reset() metodes paraksts ir:

cpp vienāds
 public static void reset(T ... mocks) { MOCKITO_CORE.reset(mocks); } 

Mockito verifyNoMoreInteractions() metode

To izmanto, lai pārbaudītu, vai kādai no dotajām izspēlēm ir nepārbaudīta mijiedarbība. Mēs varam izmantot šo metodi pēc tam, kad ir pārbaudīti visi izspēles, lai pārliecinātos, ka nekas cits netika izsaukts izspēles. Tas arī nosaka nepārbaudītus izsaukumus, kas notiek pirms pārbaudes metodes, piemēram, setup(), @Before metodē vai konstruktorā. Tā ir izvēles metode, un mums tā nav jāizmanto katrā pārbaudē.

Metodes verifyNoMoreInteractions() paraksts ir:

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

Mockito verifyZeroInteractions() metode

Tas pārbauda, ​​vai konkrētajos izspēlēs nav notikusi mijiedarbība. Tas arī nosaka izsaukumus, kas notikuši pirms pārbaudes metodes, piemēram, setup(), @Before metodē vai konstruktorā.

Metodes verifyZeroInteractions() paraksts ir:

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

Mockito doThrow() metode

To izmanto, lai apturētu tukšuma metodi, lai izdarītu izņēmumu. Tas izveido jaunu izņēmuma gadījumu katrai metodes izsaukšanai. Mockito klasē ir pieejamas divu veidu doThrow() metodes ar dažādiem parametriem, kā parādīts zemāk:

    doThrow() metode ar Throwable:Šo metodi izmanto, ja mēs vēlamies dzēst nederīgu metodi ar izņēmumu. Sintakse: doThrow (iemetams, lai tiktu mests)
    Metodes doThrow() paraksts ir:
 public static Stubber doThrow(Throwable toBeThrown) { return MOCKITO_CORE.doAnswer(new ThrowsException(toBeThrown)); } 
    doThrow() metode ar klasi:Šī metode tiek izmantota, ja mēs vēlamies apturēt spēkā neesošu metodi, lai izmestu noteiktas klases izņēmumu.
    Sintakse: doThrow (Class toBe Thrown)
    DoThrow() metodes paraksts ir:
 public static Stubber doThrow(Class toBeThrown) { return MOCKITO_CORE.doAnswer(new ThrowsExceptionClass(toBeThrown)); } 

Mockito doCallRealMethod() metode

To lieto, ja mēs vēlamies izsaukt metodes reālo ieviešanu. Citiem vārdiem sakot, to izmanto, lai izveidotu objekta daļējus izspēles. To izmanto retās situācijās, piemēram, lai izsauktu reālās metodes. Tas ir līdzīgs spy() metodei, un vienīgā atšķirība ir tā, ka tas rada sarežģītu kodu.

Metodes doCallRealMethod() paraksts ir:

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

Mockito doAnswer() metode

To izmanto, ja mēs vēlamies bloķēt neesošu metodi ar vispārīgu atbildes veidu. Metodes doAnswer() paraksts ir:

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

Mockito doNothing() metode

To izmanto, lai iestatītu nederīgās metodes, lai neko nedarītu. DoNothing() metode tiek izmantota retās situācijās. Pēc noklusējuma tukšās metodes viltotajos gadījumos neko nedara, t.i., netiek veikts neviens uzdevums.

DoNothing() metodes paraksts ir:

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

Mockito doReturn() metode

To izmanto tajos retajos gadījumos, kad nevaram izmantot Mockito.when(object). Metode Mockito.when(object) vienmēr tiek ieteikta stublēšanai, jo tā ir argumentu tipa droša un lasāmāka salīdzinājumā ar metodi doReturn().

Metodes doReturn() paraksts ir:

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

Mockito inOrder() metode

To izmanto, lai izveidotu objektus, kas ļauj pārbaudīt izspēles noteiktā secībā. Pārbaude, kas tiek veikta pēc kārtas, ir elastīgāka, jo mums nav jāpārbauda visas mijiedarbības. Mums ir jāpārbauda tikai tās mijiedarbības, kuras ir ieinteresētas testēšanā (secībā). Mēs varam arī izmantot inOrder() metodi, lai izveidotu inOrder objektu, kas nodod izspēles, kas ir svarīgas pasūtījuma pārbaudei.

Metodes Mockito.inOrder() paraksts ir:

struktūras masīvs c valodā
 public static InOrder inOrder(Object... mocks) { return MOCKITO_CORE.inOrder(mocks); } 

Mockito ignoreStubs() metodi

To izmanto, lai verifikācijai ignorētu doto izspēļu stingrās metodes. Tas ir noderīgi, izmantojot verifyNoMoreInteractions() vai verification inOrder() metodes. Tas arī palīdz izvairīties no liekas iestrēgušu zvanu pārbaudes.

Metodes ignoreStubs() paraksts ir:

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

Mockito times() metode

To izmanto, lai pārbaudītu precīzu metodes izsaukšanas skaitu, kas nozīmē, ka tā deklarē, cik reižu metode tiek izsaukta. Times() metodes paraksts ir:

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

Mockito never() metode

To izmanto, lai pārbaudītu, vai mijiedarbība nav notikusi. Nekad() metodes paraksts ir:

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

Mockito atLeastOnce() metode

To izmanto, lai pārbaudītu izsaukumu vismaz vienu reizi, kas nozīmē, ka metode ir jāizsauc vismaz vienu reizi.

Metodes atLeastOnce() paraksts ir:

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

Mockito vismaz() metode

To izmanto, lai pārbaudītu izsaukumu vismaz x reižu skaitu. Piemēram, dots vismaz(3) nozīmē, ka metode tiks izsaukta vismaz trīs reizes.

Metodes atLeast() paraksts ir:

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

Mockito atMost() metode

To izmanto, lai pārbaudītu izsaukumu ne vairāk kā x reižu skaitu. Piemēram, dotais atMost(3) nozīmē, ka metode tiks izsaukta ne vairāk kā trīs reizes.

Metodes atMost() paraksts ir:

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

Mockito calls() metode

Tas ļauj veikt pārbaudi, kas nav mantkārīga. To var izmantot tikai ar inOrder() pārbaudes metodi. Piemēram, inOrder.verify(mock, calls(3)).xyzMethod('...');

Call() metodes paraksts ir:

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

Tikai Mockito() metode

Tas pārbauda, ​​vai dotā metode bija vienīgā izsauktā metode. Vienīgās () metodes paraksts ir:

pandas loc
 public static VerificationMode only() { return VerificationModeFactory.only(); } 

Mockito timeout() metode

Tas ļauj Mockito veikt pārbaudi ar taimautu. Tas norāda verifikācijai gaidīt noteiktu laika periodu konkrētai mijiedarbībai, nevis nekavējoties izgāzties. Tas var būt noderīgi, lai pārbaudītu esošās situācijās.

Metode timeout() atšķiras no after() metodes, jo after() metode gaida visu periodu, ja vien netiek paziņots gala rezultāts, turpretim timeout() metode tiks apturēta, tiklīdz tiks veikta pārbaude. Pārbaudēs to izmanto reti.

Timeout() metodes paraksts ir:

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

Mockito after() metode

Tas ļauj Mockito pārbaudīt noteiktā laika periodā. Mēs jau esam apsprieduši, ka after() metode atšķiras no timeout() metodes.

Metodes after() paraksts ir:

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

Mockito valideMockitoUsage() metode

To izmanto, lai nepārprotami validētu ietvara stāvokli, lai noteiktu nederīgu Mockito ietvara izmantošanu. Tā ir Mockito izvēles funkcija, jo tā visu laiku apstiprina lietojumu. Gan iebūvētais skrējējs (MockitoJUnitRunner), gan kārtula (MockitoRule) pēc katras pārbaudes metodes izsauc metodi validateMockitoUsage().

ValidateMockitoUsage() metodes paraksts ir:

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

Mockito withSettings() metodi

To izmanto, lai izveidotu izspēles ar papildu izspēles iestatījumiem. To laiku pa laikam vajadzētu izmantot testēšanā. Tā vietā, lai izmantotu withSettings() metodi, izveidojiet vienkāršus testus, izmantojot vienkāršus izspēles. Galvenie MockSettings izmantošanas iemesli ir

  • Izmantojot MockSetting, mēs vajadzības gadījumā varam viegli pievienot citus viltus iestatījumus.
  • Tas apvieno dažādus izspēles iestatījumus, nesajaucot kodu.

Metodes withSettings() paraksts ir:

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