JUnit @Ohita testimerkintä esimerkillä
Joskus saatat joutua olemaan suorittamatta menetelmää/koodia tai Testitapaus koska koodaus ei ole täysin tehty. Kyseistä testiä varten JUnit tarjoaa @Jättää huomiotta huomautus testin ohittamiseksi.
Mikä on JUnit @Ohita testimerkintä
@Ignore-testin huomautusta käytetään ohittamaan tietyt testit tai testiryhmät koontivirheen ohittamiseksi.
@Jättää huomiotta huomautusta voidaan käyttää kahdessa skenaariossa alla esitetyllä tavalla:
- Jos haluat ohittaa testimenetelmän, käytä @Ignore yhdessä @Test-merkinnän kanssa.
- Jos haluat ohittaa kaikki luokan testit, käytä @Ignore-merkintää luokkatasolla.
Voit antaa syyn testin käytöstä poistamiseen @Ignore-merkinnän tarjoamassa valinnaisessa parametrissa.
Se auttaa muita saman koodin parissa työskenteleviä kehittäjiä ymmärtämään "miksi tietty testi on poistettu käytöstä?" Kun kyseisen testin ongelma on korjattu, voit ottaa sen käyttöön poistamalla @Ohita huomautus.
Junit Test -esimerkki – Ohita
Kuten yllä olevassa määritelmässä kerrottiin, voit käyttää @Ignore-merkintää ohittaaksesi testin tai testiryhmän.
Ymmärretään se yksinkertaisella esimerkillä ja alla annetuissa skenaarioissa:
- Yksinkertaisen testiluokan luominen ilman testiä.
- Ohita testimenetelmä @Ignore-merkinnällä.
- Ohita testimenetelmä @Ignore-merkinnällä oikealla syyllä.
- Ohita kaikki testimenetelmät @Ignore-merkinnällä.
Yksinkertaisen testiluokan luominen ilman testiä
Luodaan yksinkertainen Java luokka, joka tulostaa kahdenlaisia viestejä.
- Ensimmäinen menetelmä tulostaa yksinkertaisen viestin ja
- Toinen tapa tulostaa "hei"-viestin
JUnitViesti.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; } }
JunitTestExample.java
Luomme JUnit testiluokka testattavaksi JUnitViesti.java.
Tässä JUnit koeluokka,
- Ensimmäinen testi, nimeltään "testiJUnitViesti()” testaa yllä olevan luokan ”printMessage()”-menetelmää.
- Samoin toinen testi, nimeltään "testiJUnitHiMessage" testaa "testiJUnitHiMessage" yllä olevasta luokasta.
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
Luodaan testirunner-luokka suorittamaan JunitTestExample.java
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()); } }
lähtö:
Tulosta lausunto konsolissa:
Junit Hei Viestiä tulostuu
Hei!Guru99
Junitin viesti tulostuu
Guru99
Ohita testimenetelmä @Ignore-merkinnällä
Luodaan ohitustesti poistaaksesi testin käytöstä yllä olevassa esimerkissä. Tätä varten sinun on käytettävä @Ignore menetelmässä, jonka haluat ohittaa.
Tehdään se testiä vartenJUnitViesti() osoitteesta JunitTestExample.java
JunitTestExample.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()); } }
lähtö:
Suoritetaan ja tarkistetaan yllä olevan esimerkin tulos.
Alla oleva tulos osoittaa, että yksi testi on ohitettu (poistettu käytöstä), katso alla merkittynä:
Tulosta lausunto konsolissa:
Junit Hei Viestiä tulostuu
Hei!Guru99
Käytä @ ohittaa huomautuksen ehdon kanssa
Otetaan esimerkki siitä, miten testi jätetään huomioimatta, ja määritellään sen ohella huomioimatta jättämisen syy. Kuten edellä mainittiin, syyn ilmoittamiseksi sinulla on yksi valinnainen parametri @Ignore-merkinnässä, johon voit antaa syylausekkeen.
JunitTestExample.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()); } }
lähtö:
Sama kuin edellä.
Ohita kaikki testimenetelmät @Ignore-merkinnällä.
Kuten edellä mainittiin, jotta voit ohittaa kaikki luokan testit, sinun on käytettävä @Ignore-merkintää luokkatasolla.
Muokkaa yllä olevaa esimerkkiä ymmärtääksemme, kuinka kaikki testit jätetään huomiotta:
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()); } }
Lähtö:
Tulosta lausunto konsolissa:
Koska molemmat testit ohitettiin käyttämällä @Ignore-komentoa luokkatasolla, konsoliin ei tulostettaisi lausuntoa.
Yhteenveto
Tässä opetusohjelmassa opit ohittamaan yksittäisen testin, testiryhmän tai kaikki testit käyttämällä @Ignore-merkintää.
@Jättää huomiotta huomautusta voidaan käyttää kahdessa skenaariossa alla esitetyllä tavalla:
- Jos haluat ohittaa testimenetelmän, käytä @Ignore yhdessä @Test-merkinnän kanssa.
- Jos haluat ohittaa kaikki luokan testit, käytä @Ignore-merkintää luokkatasolla.
Opit myös antamaan lausunto, jotta muut kehittäjät ymmärtäisivät, miksi tietty testi on poistettu käytöstä.