10. óra (2024.04.17.)
Feladatok
Reflection
Töltsétek le az gyak9.zip fájlt (múlt órai feladatot folytatjuk, csak az annotáció megírásáig jutottunk).
A feladat egy saját unit test framework írása :) Nem kell megijedni, rém egyszerű lesz: a NanoUnit osztályt kell úgy kiegészíteni, hogy a StackTest teszteseteit le tudja futtatni. A NanoUnitot egy olyan command line runnernek kell elképzelni, ami parancssori argumentumban kapja meg a tesztosztály teljes minősített nevét. (megoldás)
Amire szükségetek lesz:
- A parancssori argumentum String típusú, ebből egy Class példányt (a tesztosztály class-a), illetve a classból egy objektumot (a tesztosztály egy példánya, aminek a teszt metódusait tudjuk meghívni) kell készíteni
- Szükség van egy @Test annotációra is, figyeljetek a Retentionre! (Rossz RetentionPolicyval az életben nem fogjátok megtalálni az annotációt.)
- A tesztosztály példány @Test annotációval rendelkező metódusain végig kell menni és meghívni őket
- Az Assertions osztályt értelemszerűen kiegészíteni, hogy AssertError dobódjon abban az esetben, ha sérül az assertion (pl. assertFalse(true) hívásnál).
Extra feladatok (megoldás)
- A unit test framework ne hasaljon el az első hibás tesztesetnél, hanem mindegyik tesztesetről kapjunk egy ok/failed választ
- Tudjon kezelni expected exceptiont, mint a JUnit4-ben
Multithreading
Oldj meg feladatokat ebből a feladatsorból.