arckép

Neuwirth István

programtervező informatikus MSc – ELTE

Computational and Software Techniques MSc – Cranfield, UK

Elérhetőség
pitta2@gmail.com
+36 30 329 3039

Valid XHTML 1.0 Transitional

Valid CSS!

2. óra (2024.02.21.)

Feladatok

Töltsétek le a gyak2.zip fájlt.

Az IDE-dben állítsd be a JUnit 5 könyvtárt tesztelésre! Opcionálisan válaszd szét a teszteket és a tesztelendő kódot külön source folder-ekbe.

Implementálj néhány operátort az IntOperator enum osztályban! Fedd le az operátorok működését @ParameterizedTest (és @CsvSource vagy @MethodSource) segítségével!

Implementálj hierarchikus teszteket @Nested segítségével az IntStack osztályhoz! Fordíts különös figyelmet a negatív tesztesetekre.

Implementálj további teszteket gyakorlásképp a Matrix osztályhoz. Fordíts különös figyelmet a negatív tesztesetekre.

Megoldások

JUnit

Az egységtesztek (meg úgy általában az automatikus tesztek) jelentőségét nem lehet túlhangsúlyozni. A témában rengeteg irodalom született, érdemes utánanézni (azonban nem része a tananyagnak). Itt részletesen nem írok róla, csak pár megjegyzést.

Az egységtesztek írásához szükség van egy megfelelő keretrendszerre, ez Java esetén a JUnit szokott lenni (van más is, például TestNG). A JUnit könyvtár egy jar (4.11 verziótól 2 jar a hamcrest függőség miatt, az 5-ös verziótól még több) formájában adandó hozzá a classpath-hoz, így a Java fordító meg tudja találni a jar-on belül JUnit osztályokat

A teszt kódok és nem teszt kódok célszerűen elkülönítendők külön source folderekbe, a teszt osztályok konvenció szerint ugyanazon packageben találhatók és a nevük a tesztelt osztály és a 'Test' suffix képzésésével jön létre. A teszt osztályban a tesztmetódusok egy-egy tesztesetet írnak le, amely során beállítjuk a tesztelendő objektumokat (arrange/setup lépés), végrehajtjuk a vizsgálandó metódust (act/exercise lépés), majd megvizsgáljuk, hogy az elvárt eredményt kapjuk-e (assert/verify lépés). Az eredmény vizsgálata az Assert(ions) osztály statikus assertion metódusaival történik, vagy a @Test annotáció expected exception paraméterezésével.

Bővebben a JUnit 5 használatáról itt olvashattok.

Tesztek futtatása IDE-ből

Vissza