Mockito Verify Cookbook
1. Áttekintés
Ez a szakácskönyv szemlélteti hogyan kell használni a Mockito igazolást különféle használati esetekben.
A a szakácskönyv formátuma példaértékű praktikus - nincs szükség idegen részletekre és magyarázatokra.
Mi leszünk gúnyolva egy egyszerű listát végrehajtás:
public class A MyList kiterjeszti az AbstractList {@Orride public String get (final int index) {return null; } @Orride public int size () {return 0; }}
2. Szakácskönyv
ellenőrizze az egyszerű invokációt a modellen
List mockedList = gúny (MyList.class); mockedList.size (); ellenőrizze (mockedList) .size ();
ellenőrizze az álral való interakciók számát
List mockedList = gúny (MyList.class); mockedList.size (); ellenőrizze (mockedList, times (1)). size ();
ellenőrizze, hogy nem történt-e kölcsönhatás az egész gúnnyal
List mockedList = gúny (MyList.class); VerifyZeroInteractions (mockedList);
ellenőrizze, hogy nem történt-e interakció egy adott módszerrel
List mockedList = gúny (MyList.class); ellenőrizze (mockedList, times (0)). size ();
ellenőrizze, hogy nincsenek-e váratlan interakciók - ennek meghiúsulhat:
List mockedList = gúny (MyList.class); mockedList.size (); mockedList.clear (); ellenőrizze (mockedList) .size (); VerifyNoMoreInteractions (mockedList);
ellenőrizze az interakciók sorrendjét
List mockedList = gúny (MyList.class); mockedList.size (); mockedList.add ("egy paraméter"); mockedList.clear (); InOrder inOrder = Mockito.inOrder (mockedList); inOrder.verify (mockedList) .size (); inOrder.verify (mockedList) .add ("egy paraméter"); inOrder.verify (mockedList) .clear ();
hogy nem történt-e kölcsönhatás
List mockedList = gúny (MyList.class); mockedList.size (); verify (mockedList, never ()). clear ();
ellenőrizze, hogy interakció történt-e legalább bizonyos számú alkalommal
List mockedList = gúny (MyList.class); mockedList.clear (); mockedList.clear (); mockedList.clear (); ellenőrizze (mockedList, atLeast (1)). clear (); verify (mockedList, atMost (10)). clear ();
pontos érveléssel való kölcsönhatás ellenőrzése
List mockedList = gúny (MyList.class); mockedList.add ("teszt"); verify (mockedList) .add ("teszt");
ellenőrizze a rugalmas / bármilyen argumentummal való interakciót
List mockedList = gúny (MyList.class); mockedList.add ("teszt"); verify (mockedList) .add (anyString ());
ellenőrizze az interakciót az argumentum rögzítésével
List mockedList = gúny (MyList.class); mockedList.addAll (Lists. newArrayList ("someElement")); ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass (List.class); ellenőrizze (mockedList) .addAll (argumentCaptor.capture ()); List capturedArgument = argumentCaptor. getValue (); assertThat (capturedArgument, hasItem ("someElement"));
3. Következtetés
Ez a formátum egy kísérlet - közzéteszek néhány belső fejlesztési szakácskönyvemet egy adott témában - a Google Guava, Hamcrest és most Mockito. A cél az, hogy ezek az információk könnyen elérhetőek legyenek online - és kiegészüljenek velük, amikor új hasznos példával találkozom.
Mindezen példák és kódrészletek megvalósítása megtalálható a GitHub oldalon - ez egy Maven-alapú projekt, ezért könnyen importálhatónak és futtathatónak kell lennie.