JUnit @Ignore Test Annotation with Example

Sisällysluettelo:

Anonim

Joskus saatat vaatia, että et suorita menetelmää / koodia tai testitapausta, koska koodausta ei tehdä kokonaan. Tätä testiä varten JUnit tarjoaa @Ignore- merkinnän testin ohittamiseksi.

Tässä opetusohjelmassa opit-

  • Mikä on JUnit @Ignore -testimerkintä
  • Junit-testiesimerkki - Ohita
  • Yksinkertaisen testiluokan luominen sivuuttamatta testiä
  • Ohita testimenetelmä @Ignore-merkinnällä
  • Käyttämällä @ ohita huomautus ehdon kanssa
  • Ohita kaikki testimenetelmät @Ignore-merkinnällä.

Mikä on JUnit @Ignore -testimerkintä

@Ignore -testimerkintää käytetään ohittamaan tietyt testit tai testiryhmä rakennevian ohittamiseksi.

@Ignore -merkintää voidaan käyttää kahdessa skenaariossa seuraavasti:

  1. Jos haluat ohittaa testimenetelmän, käytä @Ignore ja @Test-merkintää.
  2. Jos haluat ohittaa kaikki luokan testit, käytä @Ignore -merkintää luokan tasolla.

Voit antaa syyn testin poistamiseen käytöstä @Ignore-merkinnän tarjoamassa valinnaisessa parametrissa.

Se auttaa muita kehittäjiä, jotka työskentelevät samalla koodikappaleella, ymmärtämään "miksi tietty testi poistetaan käytöstä?" Kun kyseisen testin ongelma on korjattu, voit ottaa sen käyttöön poistamalla @Ignore-merkinnän .

Junit-testiesimerkki - Ohita

Kuten yllä olevassa määritelmässä on keskusteltu, voit ohittaa testin tai testiryhmän @Ignore-merkinnällä.

Ymmärretään se yksinkertaisen esimerkin avulla ja alla annetuissa skenaarioissa:

  1. Yksinkertaisen testiluokan luominen sivuuttamatta testiä.
  2. Ohita testimenetelmä @Ignore-merkinnällä.
  3. Ohita testimenetelmä käyttämällä @Ignore -merkintää asianmukaisesta syystä.
  4. Ohita kaikki testimenetelmät @Ignore-merkinnällä.

Yksinkertaisen testiluokan luominen sivuuttamatta testiä

Luodaan yksinkertainen Java-luokka, joka tulostaa kahden tyyppisiä viestejä.

  • Ensimmäinen menetelmä tulostaa yksinkertaisen viestin ja
  • Toinen menetelmä tulostaa "hi" -viestin

JUnitMessage.java

paketti guru99.junit;julkisen luokan JUnitMessage {yksityinen merkkijono viesti;public JUnitMessage (merkkijonoviesti) {this.message = viesti;}public String printMessage () {System.out.println (viesti);palautusviesti;}public String printHiMessage () {message = "Hei!" + viesti;System.out.println (viesti);palautusviesti;}}

JunitTestExample.java

Luodaan JUnit-testiluokka JUnitMessage.javan testaamiseksi.

Tässä JUnit-testiluokassa

  • Ensimmäinen testi, nimeltään "testJUnitMessage ()" testaa "luokan" printMessage () "-menetelmän.
  • Vastaavasti toinen testi, nimeltään "testJUnitHiMessage", testaa "testJUnitHiMessage" yläluokasta.
paketti guru99.junit;tuo staattinen org.junit.Assert.assertEquals;tuoda org.junit.Test;julkinen luokka JunitTestExample {public String -viesti = "Guru99";JUnitMessage junitMessage = uusi JUnitMessage (viesti);@Testatapublic void testJUnitMessage () {System.out.println ("Junit-viesti tulostuu");assertEquals (viesti, junitMessage.printMessage ());}@Testatapublic void testJUnitHiMessage () {message = "Hei!" + viesti;System.out.println ("Junit Hi Message tulostaa");assertEquals (viesti, junitMessage.printHiMessage ());}}

TestRunner.java

Luodaan testijuoksija, joka suorittaa JunitTestExample.java

paketti guru99.junit;tuo org.junit.runner.JUnitCore;tuo org.junit.runner.Result;tuo org.junit.runner.notification.Failure;julkinen luokka TestRunner {public staattinen void main (String [] argumentoi) {Tulos = JUnitCore.runClasses (JunitTestExample.class);for (epäonnistumisvirhe: tulos.getFailures ()) {System.out.println (vika.String ());}System.out.println ("Tulos ==" + tulos.Onnistui ());}}

Tuotos:

Tulosta lausunto konsolille:

Junit Hi Message tulostaa

Hei! Guru99

Junit Message tulostuu

Guru99

Ohita testimenetelmä @Ignore-merkinnällä

Luodaan ohita testi, jotta testi poistetaan käytöstä yllä olevassa esimerkissä. Tätä varten sinun on käytettävä menetelmässä @Ignore, jonka haluat ohittaa.

Tehdään se JunITTestExample.javan testJUnitMessage (): lle

JunitTestExample.java

paketti guru99.junit;tuo staattinen org.junit.Assert.assertEquals;tuo org.junit.Ignore;tuoda org.junit.Test;julkinen luokka JunitTestExample {public String -viesti = "Guru99";JUnitMessage junitMessage = uusi JUnitMessage (viesti);@Jättää huomiotta@Testatapublic void testJUnitMessage () {System.out.println ("Junit-viesti tulostuu");assertEquals (viesti, junitMessage.printMessage ());}@Testatapublic void testJUnitHiMessage () {message = "Hei!" + viesti;System.out.println ("Junit Hi Message tulostaa");assertEquals (viesti, junitMessage.printHiMessage ());}}

Tuotos:

Suoritetaan ja tarkistetaan yllä olevan esimerkin tulos.

Tuloksen alapuolella näkyy, että yksi testi ohitetaan (poistettu käytöstä), katso kuten alla on merkitty:

Tulosta lausunto konsolille:

Junit Hi Message tulostaa

Hei! Guru99

Käyttämällä @ ohita huomautus ehdon kanssa

Otetaan esimerkki siitä, miten testi jätetään huomiotta ja määritetään syy ohittamiseen yhdessä sen kanssa. Kuten edellä keskusteltiin, syyn antamiseksi sinulla on yksi valinnainen parametri @Ignore -merkinnässä, jossa voit antaa syy-lauseen.

JunitTestExample.java

paketti guru99.junit;tuo staattinen org.junit.Assert.assertEquals;tuo org.junit.Ignore;tuoda org.junit.Test;julkinen luokka JunitTestExample {public String -viesti = "Guru99";JUnitMessage junitMessage = uusi JUnitMessage (viesti);@Ignore ("ei vielä valmis, ohita.")@Testatapublic void testJUnitMessage () {System.out.println ("Junit-viesti tulostuu");assertEquals (viesti, junitMessage.printMessage ());}@Testatapublic void testJUnitHiMessage () {message = "Hei!" + viesti;System.out.println ("Junit Hi Message tulostaa");assertEquals (viesti, junitMessage.printHiMessage ());}}

Tuotos:

Sama kuin edellä.

Ohita kaikki testimenetelmät @Ignore-merkinnällä.

Kuten edellä on mainittu, jotta sivuutat kaikki luokan kokeet, sinun on käytettävä @Ignore-merkintää luokan tasolla.

Muokataan yllä olevaa esimerkkiä ymmärtämään, miten kaikki testit jätetään huomiotta:

paketti guru99.junit;tuo staattinen org.junit.Assert.assertEquals;tuo org.junit.Ignore;tuoda org.junit.Test;@Jättää huomiottajulkinen luokka JunitTestExample {public String -viesti = "Guru99";JUnitMessage junitMessage = uusi JUnitMessage (viesti);@Testatapublic void testJUnitMessage () {System.out.println ("Junit-viesti tulostuu");assertEquals (viesti, junitMessage.printMessage ());}@Testatapublic void testJUnitHiMessage () {message = "Hei!" + viesti;System.out.println ("Junit Hi Message tulostaa");assertEquals (viesti, junitMessage.printHiMessage ());}}

Tuotos:

Tulosta lausunto konsolille:

Koska molemmat testit ohittivat käyttämällä @Ignore-luokkatasoa, konsoliin ei tulosteta mitään lausetta.

Yhteenveto:

Tässä opetusohjelmassa opit ohittamaan yhden testin, testiryhmän tai kaikki testit @Ignore-merkinnällä.

@Ignore -merkintää voidaan käyttää kahdessa skenaariossa seuraavasti:

  1. Jos haluat ohittaa testimenetelmän, käytä @Ignore ja @Test-merkintää.
  2. Jos haluat ohittaa kaikki luokan testit, käytä @Ignore -merkintää luokan tasolla.

Opit myös kuinka antaa lausunto ymmärtääksesi muita kehittäjiä, miksi tietty testi on poistettu käytöstä.