5. JUnit @Test Annotation

1. Áttekintés

Ebben a cikkben gyorsan áttekintjük a JUnit-t @Teszt annotáció. Ez az annotáció hatékony eszközt jelent az egység- és regressziós tesztek végrehajtására.

2. Maven konfiguráció

A JUnit 5 legújabb verziójának használatához hozzá kell adnunk a következő Maven-függőséget:

 org.junit.jupiter junit-jupiter-motor 5.1.0 teszt 

Használjuk a teszt terjedelmét, mert nem akarjuk, hogy Maven beépítse ezt a függőséget a végső összeállításunkba.

Mivel a surefire plugin még mindig nem támogatja teljes mértékben a JUnit 5-et, hozzá kell adnunk egy szolgáltatót is, amely megmondja Mavennek, hol találhatjuk meg tesztjeinket:

 maven-surefire-plugin 2.19.1. org.junit.platform junit-platform-surefire-szolgáltató 1.0.2 

Konfigurációnkban a surefire 2.19.1 verziót fogjuk használni, mert az írás idején a 2.20.x verzió nem kompatibilis a junit-platform-surefire-szolgáltató.

3. Teszt alatt álló módszer

Először is készítsünk egy egyszerű módszert, amelyet a teszt forgatókönyveinkben használunk a @Teszt annotáció képességei:

nyilvános logikai érték isNumberEven (egész szám) {visszatérési szám% 2 == 0; }

Ennek a módszernek vissza kell térnie igaz ha az átadott argumentum páros szám és hamis másképp. Most nézzük meg, hogy úgy működik-e, ahogy kellene.

4. A módszer tesztelése

Például két forgatókönyvet szeretnénk ellenőrizni:

  • páros szám megadásakor a módszernek vissza kell térnie igaz
  • ha páratlan számot adnak, a módszernek vissza kell térnie hamis

Ez azt jelenti, hogy a megvalósítási kód felhívja a mi telefonunkat isNumberEven módszerrel, és ellenőrizze, hogy az eredmény megfelel-e az elvárásoknak.

Annak érdekében, hogy a teszteket ilyennek ismerhessük el, hozzáadjuk a @Teszt annotáció. Ezekből annyi lehet, amennyit csak akarunk egy osztályban, de jó gyakorlat, ha csak a kapcsolódóakat állítjuk össze. Figyelje meg azt is egy teszt nem lehet magán, értéket sem adhat vissza - különben csak figyelmen kívül hagyják.

Ezen megfontolások alapján írjuk meg vizsgálati módszereinket:

@Test void givenEvenNumber_whenCheckingIsNumberEven_thenTrue () {logikai eredmény = bean.isNumberEven (8); Assertions.assertTrue (eredmény); } @Test void givenOddNumber_whenCheckingIsNumberEven_thenFalse () {logikai eredmény = bean.isNumberEven (3); Assertions.assertFalse (eredmény); }

Ha most Maven építést futtatunk, a surefire plugin az összes aláírt metóduson keresztül megy keresztül az osztályok alatt src / test / java és végrehajtja őket, ami a build összeomlását okozza, ha bármilyen teszthiba fordul elő.

Ha a JUnit 4-ből származik, ne feledje, hogy ebben a verzióban a kommentár nem fogad el semmilyen paramétert. Időtúllépés vagy dobott kivétel ellenőrzéséhez állításokat használunk:

@Test void givenLowerThanTenNumber_whenCheckingIsNumberEven_thenResultUnderTenMillis () {Assertions.assertTimeout (Duration.ofMillis (10), () -> bean.isNumberEven (3)); } @Test void givenNull_whenCheckingIsNumberEven_thenNullPointerException () {Assertions.assertThrows (NullPointerException.class, () -> bean.isNumberEven (null)); }

5. Következtetés

Ebben a gyors bemutatóban megmutattuk, hogyan lehet egy egyszerű JUnit tesztet végrehajtani és futtatni a @Teszt annotáció.

További információ a JUnit keretrendszerről ebben a bejegyzésben található, amely általános bevezetést nyújt be.

A példákban használt összes kód elérhető a GitHub projektben.


$config[zx-auto] not found$config[zx-overlay] not found