Vysmievať sa finálovým triedam a metódam s mockitom

1. Prehľad

V tomto krátkom článku sa zameriame na to, ako sa vysmievať posledným triedam a metódam - pomocou Mockita.

Rovnako ako v prípade iných článkov zameraných na rámec Mockito (napríklad Mockito Verify, Mockito When / Then a Mockito's Mock Methods), použijeme Môj zoznam trieda uvedená nižšie ako spolupracovník v testovacích prípadoch.

Pre tento tutoriál pridáme novú metódu:

public class MyList extends AbstractList {final public int finalMethod () {return 0; }}

A tiež ho rozšírime o konečné podtrieda:

verejná konečná trieda FinalList rozširuje MyList {@Override public int size () {návrat 1; }} 

2. Nakonfigurujte Mockito pre konečné metódy a triedy

Predtým, ako bude možné program Mockito použiť na zosmiešňovanie záverečných tried a metód, je potrebné ho nakonfigurovať.

Musíme do projektu pridať textový súbor src / test / resources / mockito-rozšírenia adresár s názvom org.mockito.plugins.MockMaker a pridajte jeden riadok textu:

falošný výrobca 

Mockito kontroluje rozšírenia adresár pre konfiguračné súbory, keď je načítaný. Tento súbor umožňuje zosmiešňovanie konečných metód a tried.

3. Vysmievajte sa záverečnej metóde

Keď je Mockito správne nakonfigurované, posledná metóda sa môže vysmievať ako každá iná:

@Test public void whenMockFinalMethodMockWorks () {MyList myList = new MyList (); MyList mock = falošný (MyList.class); when (mock.finalMethod ()). thenReturn (1); assertNotEquals (mock.finalMethod (), myList.finalMethod ()); } 

Vytvorením konkrétnej a simulovanej inštancie Môj zoznam, môžeme porovnať hodnoty vrátené oboma verziami finalMethod () a overte, či sa volá falošný.

4. Vysmievajte sa finálovej triede

Napodobňovanie poslednej triedy je rovnako ľahké ako zosmiešňovanie akejkoľvek inej triedy:

@Test public void whenMockFinalClassMockWorks () {FinalList finalList = nový FinalList (); FinalList falošný = falošný (FinalList.class); when (mock.size ()). thenReturn (2); assertNotEquals (mock.size (), finalList.size ()); } 

Podobne ako v teste vyššie, vytvoríme konkrétnu inštanciu a falošnú inštanciu našej finálnej triedy, zosmiešňujeme metódu a overíme, či sa falošná inštancia správa inak.

5. Záver

V tomto rýchlom výučbe sme sa venovali tomu, ako si vysmievať záverečné triedy a metódy s Mockitom pomocou rozšírenia Mockito.

Celé príklady, ako vždy, nájdete na GitHub.


$config[zx-auto] not found$config[zx-overlay] not found