Falešný
Mocky jsou objekty, které ukládají volání metod. Označuje se jako dynamické obaly pro závislosti používané v testech. Používá se k zaznamenávání a ověřování interakce mezi třídami Java. Maketa je známá jako nejvýkonnější a nejflexibilnější verze testovacích dvojic. Používáme metodu zesměšňování tzv falešný() .
Hlavní funkcí použití zesměšňovaných objektů je, že poskytuje plnou kontrolu nad chováním zesměšňovaných objektů. Falešné objekty se obecně používají pro ověření chování . Termín chování znamená kontrolu správných metod a cest, které jsou aplikovány na objekty.
Mocky se většinou vytvářejí pomocí knihovny nebo zesměšňujícího rámce, jako je Mockito, JMock a EasyMock. Používá se pro testování velké sady testů, kde útržky nestačí. Jednou ze základních funkcí mocku je, že si můžeme ověřit, kolikrát je daná metoda volána.
srovnatelný řetězec v Javě
Následující fragment kódu ukazuje, jak používat mock().
přejmenování adresáře
ToDoService doService = mock(ToDoService.class);
Pahýl
Stub jsou objekty, které obsahují předdefinovaná data a používají je k poskytování odpovědí během testů. Jinými slovy, útržek je objekt, který se podobá skutečnému objektu s minimálním počtem metod potřebných pro test. Stub se používá, když nechceme používat objekty, které by dávaly odpověď s reálnými daty. Pahýl se označuje jako nejlehčí a nejstatičtější verze testu se zdvojnásobuje.
Hlavní funkce pahýlů jsou:
- Vždy vrací předdefinovaný výstup bez ohledu na vstup.
- Může být použit k tomu, aby se podobal databázovým objektům.
- Pahýly se používají ke snížení složitosti, ke které dochází při vytváření skutečných objektů. Používají se především k předvádění státní ověření .
Vyzvědač
Špioni jsou známí jako částečně zesměšňovat předměty . To znamená, že špión vytvoří částečný předmět nebo poloviční figurínu skutečného předmětu napichováním nebo špehováním těch skutečných. Při špehování zůstává skutečný objekt nezměněn a my jen špehujeme některé jeho specifické metody. Jinými slovy, vezmeme existující (skutečný) objekt a nahradit nebo vyzvědač jen některé jeho metody.
tučný text css
Špioni jsou užiteční, když máme obrovskou třídu plnou metod a chceme některé metody zesměšňovat. V tomto scénáři bychom měli upřednostňovat použití špionů před zesměšňováním a útržky. Volá skutečné chování metody, pokud metody nejsou potlačeny.
V Mockito se k vytváření špionážních objektů používá metoda spy(). Umožňuje nám volat normální metody skutečného objektu. Následující fragment kódu ukazuje, jak používat metodu spy().
List spyArrayList = spy(ArrayList.class);
Rozdíl mezi Stub a Mock
Parametry | Pahýl | Falešný |
---|---|---|
Zdroj dat | Zdroj dat útržků je pevně zakódován. Obvykle je pevně spojen s testovací sadou. | Údaje o simulacích jsou nastaveny testy. |
Vytvořil | Útržky jsou obvykle psané ručně a některé jsou generovány nástroji. | Mocky se obvykle vytvářejí pomocí knihovny třetích stran, jako je Mockito, JMock a WireMock. |
Používání | Stuby se používají hlavně pro jednoduché testovací sady. | Mocky se používají hlavně pro velké testovací sady. |
Grafické uživatelské rozhraní (GUI) | Stuby nemají GUI. | Mocky mají GUI. |
Níže jsou uvedeny některé rozdíly mezi falešným a špionem:
Parametry | Falešný | Vyzvědač |
---|---|---|
Používání | Makety se používají k vytvoření plně falešných nebo falešných objektů. Používá se hlavně ve velkých testovacích sadách. | Špióni se používají k vytváření částečných nebo polovičních falešných objektů. Stejně jako falešní jsou špioni také používáni ve velkých testovacích sadách. |
Výchozí chování | Při použití falešných objektů je výchozí chování metod (když nejsou potlačeny) nic nedělat (nic neprovádí). | Při použití špionážních objektů je výchozí chování metod (pokud nejsou potlačeny) chováním skutečné metody. |
V našich předchozích výukových programech jsme diskutovali o některých příkladech stubování, zesměšňování a špehování. Chcete-li lépe porozumět rozdílu mezi urážením, zesměšňováním a špehováním, projděte si příklady.