Szerző: Csákvári Dávid

Hogyan írjunk teszteket egyszerűen Eclipseben

Az Eclipse IDE számos olyan tulajdonsággal bír, ami szükséges ahhoz, hogy zavartalanul fejleszthessünk. Azonban hogy valóban hatékonyan tudjunk dolgozni vele, érdemes alaposabban megismerni és testre szabni a funkcióit. Ha rendszeresen találjuk szembe magunkat olyan helyzetekkel, amiket nem tudunk csuklóból megoldani, akkor hiába a sok fícsör, joggal érezhetjük, hogy a fejlesztői környezet csak hátráltat minket.

Ugyanez a helyzet automata tesztek írását illetően is, hiszen ez a tevékenység tipikusan sok ismétlődő feladattal jár, amelyekkel kapcsolatban aligha tehetjük meg, hogy minden egyes alkalommal a menükben kutatunk.

Ebben a posztban szeretném bemutatni azokat a bővítményeket és beállításokat, amelyeket automata tesztek készítésével kapcsolatban használok.

 

MoreUnit Plugin

Számomra az egyik legszembetűnőbb hiányosság, amit a hivatalos Eclipse disztribúcióval kapcsolatban tapasztaltam, hogy nem támogatja tesztosztályok hely- és névkonvenció szerinti létrehozását.

Szerencsére régóta létezik a MoreUnit, ami nemcsak a fenti problémán segít, hanem számos egyéb szolgáltatást is nyújt. Ezek közül talán a legfontosabb, hogy felismeri a Maven projektstruktúrát és lehetővé teszi a production-test osztálypárok egyszerű kezelését. Például, ha épp egy Java osztályt módosítunk, amire szeretnénk egységteszteket is írni, a Ctrl+j billentyűkombinációt lenyomva egyszerűen létre tudjuk hozni a megfelelő helyen a hozzá tartozó tesztosztályt.

eclipse_test

Ha ez már létezik, akkor egyszerűen csak odanavigál minket. Így ebben az esetben a parancs jól használható a teszt és az üzemi kód közötti váltogatásra is.

A fenti navigációt metódus szinten is megtehetjük. Ha egy metódus törzsében áll a kurzor, a Ctrl+u megnyomásával a hozzá tartozó teszt metódushoz juthatunk, illetve ha ilyen még nincs, létre is tudunk hozni egyet.

A bővítmény a navigáció mellett a tesztek futtatását is megkönnyíti. A Ctrl+r billentyűkombinációval elindíthatjuk az aktuális forrásfájlhoz tartozó egységteszteket. Ez hasznos lehet, ha nem szeretnénk a teljes tesztcsomagot lefuttatni minden egyes apró módosítás után.

Kár, hogy a plugin nem képezi az alap Eclipse disztribúció részét. Talán egy nap bekerül, de addig is érdemes telepíteni, mert nagyon megkönnyíti a tesztek kezelését.

  

Favourites

A statikus importokat sok esetben használjuk tesztek írásánál, mert könnyebben olvasható, DSL szerű kód írására adnak lehetőséget.
A  Window > Preferences > Java > Editor > Content Assist > Favourites alatt található beállításokkal megadható, hogy az IDE content assist során milyen statikus tagokat ajánljon fel, akkor is, ha azokra még nincs import a forrásfájlban.

Segítségükkel például elérhető, hogy egy újonnan létrehozott teszt osztályban az assertEquals kifejezést begépelve az Eclipse automatikusan felajánlja a hozzá tartozó org.junit.Assert.assertEquals statikus importálását, anélkül, hogy emlékeznünk kellene rá, hogy a metódus melyik osztályban van definiálva.

Én az alábbiakat használom:

org.hamcrest.Matchers.*
org.hamcrest.CoreMatchers.*
org.junit.*
org.junit.Assert.*

Ha beállítjuk őket, jócskán felgyorsítható a tesztek írása azzal, hogy nem kell a sűrűn előforduló kifejezéseket kézzel behúznunk.


Type Filters

Ha a List kifejezésre felbukkanó, az autocomplete által ajánlott tételeket nézzük, általában sok olyasmit látunk, amire nincs szükségünk. Például valószínűleg sosem fogjuk webalkalmazások fejlesztésénél a java.awt.List osztályt használni. Szerencsére a megjelenő lista testreszabható szűrési beállításokkal, amelyek a Window > Preferences > Java > Appearance > Type Filters alatt adhatóak meg.

Habár az Eclipse a megjelenített javaslatokat úgy sorrendezi, hogy a sűrűn használt elemek elől helyezkedjenek el, érdemes eltüntetni azokat az ajánlásokat, amelyekre biztosan nincs szükségünk.


Kódsablonok

A Window > Preferences > Java > Templates beállítási panel alatt találhatóak az előre definiált kódsablonok, melyek rengeteg pötyörészéstől menthetnek meg minket. Van, ami a tesztek írásával kapcsolatban is hasznos lehet: ha a test-et begépelve megnyomjuk a Ctrl+space gombokat, egyszerűen beilleszthetjük egy új teszteset vázát.


Billentyűkombinációk

Az alábbi ábrán összegyűjtöttem azokat a billentyűkombinációkat, amelyeket gyakran használok. A listán sok tétel a tesztírással kapcsolatos, de feltüntettem olyanokat is, amelyek általános, de tesztek készítésénél sűrűn előforduló feladatokat könnyítenek meg.

test_eclipse_shortcut

Érdemes azokat a parancsokat testreszabni a General > Keys panelen, amik nem állnak kézre.

A tesztek írásának egyik komoly gátja lehet, ha az ezzel kapcsolatos feladatokat nem tudjuk reflex szerűen végrehajtani, ezért érdemes időt szánni a megfelelő beállítások elkészítésére.

 

A fejlécben található kép forrása az https://eclipse.org/.

Ha tetszett a cikk oszd meg másokkal is.