JUnit @Példával a teszt megjegyzés figyelmen kívül hagyása
Néha előfordulhat, hogy nem kell végrehajtani egy metódust/kódot vagy Teszt eset mert a kódolás nem történik meg teljesen. Az adott teszthez JUnit biztosít @Figyelmen kívül hagyni megjegyzést a teszt kihagyásához.
Mi a JUnit @A teszt annotáció figyelmen kívül hagyása
Az @Ignore teszt megjegyzést arra használjuk, hogy figyelmen kívül hagyjon bizonyos teszteket vagy tesztcsoportokat, hogy kihagyja az összeállítási hibát.
@Figyelmen kívül hagyni az annotáció két forgatókönyvben használható, az alábbiak szerint:
- Ha figyelmen kívül szeretne hagyni egy tesztmódszert, használja az @Ignore és a @Test megjegyzést.
- Ha figyelmen kívül szeretné hagyni az osztály összes tesztjét, használja az @Ignore annotációt az osztály szintjén.
A teszt letiltásának okát az @Ignore annotation által biztosított opcionális paraméterben adhatja meg.
Segít más fejlesztőknek, akik ugyanazon a kódon dolgoznak, hogy megértsék, „miért van letiltva egy adott teszt?” Ha az adott teszt problémája megoldódott, egyszerűen engedélyezheti az eltávolítással @A kommentár figyelmen kívül hagyása.
Junit teszt példa – Figyelmen kívül hagyás
A fenti definíció szerint a @Ignore annotáció használatával figyelmen kívül hagyhat egy tesztet vagy tesztcsoportot.
Értsük meg ezt egy egyszerű példa segítségével és az alábbi forgatókönyvek alapján:
- Egyszerű tesztosztály létrehozása a teszt figyelmen kívül hagyása nélkül.
- Hagyjon figyelmen kívül egy tesztmódszert a @Ignore megjegyzés használatával.
- Figyelmen kívül hagyja az @Ignore megjegyzést használó tesztmódszert megfelelő indoklással.
- Az összes vizsgálati módszer figyelmen kívül hagyása a @Ignore megjegyzés használatával.
Egyszerű tesztosztály létrehozása a teszt figyelmen kívül hagyása nélkül
Hozzunk létre egy egyszerűt Java osztály, amely kétféle üzenetet nyomtat.
- Az első módszer egy egyszerű üzenetet nyomtat és
- A második módszer „szia” üzenetet nyomtat
JUnitÜzenet.java
package guru99.junit; public class JUnitMessage { private String message; public JUnitMessage(String message) { this.message = message; } public String printMessage(){ System.out.println(message); return message; } public String printHiMessage(){ message="Hi!"+ message; System.out.println(message); return message; } }
JunitTestPélda.java
Hozzuk létre a JUnit teszt osztály tesztelni JUnitÜzenet.java.
Ebben JUnit teszt osztály,
- Az első teszt, a „tesztJUnitA Message()” a fenti osztály „printMessage()” metódusát teszteli.
- Hasonlóképpen a második teszt, a „tesztJUnitHiMessage” teszteli a „tesztJUnitHiMessage” a fenti osztályból.
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Test; public class JunitTestExample { public String message = "Guru99"; JUnitMessage junitMessage = new JUnitMessage(message); @Test public void testJUnitMessage() { System.out.println("Junit Message is printing"); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
TestRunner.java
Hozzon létre egy tesztfutó osztályt a JunitTestExample.java futtatásához
package guru99.junit; import org.junit.runner.JUnitCore; import org.junit.runner.Result; import org.junit.runner.notification.Failure; public class TestRunner { public static void main(String[] args) { Result result = JUnitCore.runClasses(JunitTestExample.class); for (Failure failure : result.getFailures()) { System.out.println(failure.toString()); } System.out.println("Result=="+result.wasSuccessful()); } }
output:
Nyilatkozat nyomtatása a konzolon:
Junit Szia Üzenet nyomtatás alatt áll
Szia!Guru99
A Junit üzenet nyomtatása folyamatban van
Guru99
Hagyjon figyelmen kívül egy tesztmódszert a @Ignore megjegyzés használatával
Hozzuk létre a figyelmen kívül hagyási tesztet a fenti példában szereplő teszt letiltásához. Ehhez a @Ignore-t kell használnia a metódusban, amelyet ki szeretne hagyni.
Tegyük meg próbaképpenJUnitA JunitTestExample.java üzenete()
JunitTestPélda.java
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Ignore; import org.junit.Test; public class JunitTestExample { public String message = "Guru99"; JUnitMessage junitMessage = new JUnitMessage(message); @Ignore @Test public void testJUnitMessage() { System.out.println("Junit Message is printing "); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
output:
Végezzük el és ellenőrizzük a fenti példa kimenetét.
Az alábbi kimenet azt mutatja, hogy egy teszt kimaradt (letiltva), lásd alább:
Nyilatkozat nyomtatása a konzolon:
Junit Szia Üzenet nyomtatás alatt áll
Szia!Guru99
A @ figyelmen kívül hagyása megjegyzés használata a Feltételnél
Vegyünk egy példát egy teszt figyelmen kívül hagyására, és határozzuk meg vele együtt a figyelmen kívül hagyás okát. Amint azt fentebb tárgyaltuk, az ok megadásához van egy opcionális paraméter az @Ignore megjegyzésben, ahol megadhatja az okot.
JunitTestPélda.java
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Ignore; import org.junit.Test; public class JunitTestExample { public String message = "Guru99"; JUnitMessage junitMessage = new JUnitMessage(message); @Ignore("not yet ready , Please ignore.") @Test public void testJUnitMessage() { System.out.println("Junit Message is printing "); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
output:
Ugyanaz, mint fent.
Figyelmen kívül hagyja az összes vizsgálati módszert az @Ignore megjegyzés használatával.
Amint azt fentebb tárgyaltuk, hogy figyelmen kívül hagyja az összes tesztet az osztályban, az @Ignore annotációt kell használnia az osztály szintjén.
Módosítsuk a fenti példát, hogy megértsük, hogyan lehet figyelmen kívül hagyni az összes tesztet:
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Ignore; import org.junit.Test; @Ignore public class JunitTestExample { public String message = "Guru99"; JUnitMessage junitMessage = new JUnitMessage(message); @Test public void testJUnitMessage() { System.out.println("Junit Message is printing "); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
Kimenet:
Nyilatkozat nyomtatása a konzolon:
Mivel mindkét teszt kimaradt az @Ignore használatával osztályszinten, így a konzolra nem kerül kiírásra.
Összegzésként
Ebben az oktatóanyagban megtanulta, hogyan hagyhat figyelmen kívül egyetlen tesztet, tesztcsoportot vagy az összes tesztet az @Ignore megjegyzés használatával.
@Figyelmen kívül hagyni az annotáció két forgatókönyvben használható, az alábbiak szerint:
- Ha figyelmen kívül szeretne hagyni egy tesztmódszert, használja az @Ignore és a @Test megjegyzést.
- Ha figyelmen kívül szeretné hagyni az osztály összes tesztjét, használja az @Ignore annotációt az osztály szintjén.
Azt is megtanulta, hogyan adjon nyilatkozatot, hogy megértse a többi fejlesztőt, miért van letiltva egy adott teszt.