3. óra (2024.02.27.)
Mockolás Mockitoval
Bevezetéshez mini-projekt: gyak3_mock_introduction.zip
A Mockito az egyik leggyakrabban használt Javas mock framework.
A feladathoz kiindulásként a gyak3.zip fájlt használjátok. A Mockito használatához a függőségek közé vegyétek fel az alábbit:
<dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>5.10.0</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-junit-jupiter</artifactId> <version>5.10.0</version> <scope>test</scope> </dependency>
A feladat a kézzel megírt 'mock' FakeDatabase osztály kiváltása Mockito-s mock objektumokkal. (megoldás)
További feladatok:
- Az implementációban az adatbázis disconnect művelete akkor is hívódjon meg, ha kivétel dobódott, ezt teszttel is ellenőrizzétek
- Írjatok/egészítsetek ki tesztet, ami ellenőrzi az adatbázison végzett műveletek sorrendjét (tipp: InOrder)
- Írjatok/egészítsetek ki tesztet, ami ellenőrzi, hogy az adatbázison a disconnect után további művelet nem hívódik (tipp: Mockito.verify* metódusok)
Teszt lefedettség
Megvizsgálható, hogy a teszt kód a tesztelt kód mely részeit futtatja, így visszajelzést kaphatunk arról, hogy hol vannak még teszteletlen kódunk. Mindazonáltal a 100%-os lefedettség sem jelenti azt, hogy hibátlan a programunk vagy mindenre kiterjedőek a tesztjeink!