JUnit @Ignore Adnotare de test cu exemplu

Cuprins:

Anonim

Uneori poate fi necesar să nu executați o metodă / cod sau Test Case, deoarece codificarea nu se face complet. Pentru acel test special, JUnit oferă adnotare @Ignore pentru a sări peste test.

În acest tutorial, veți învăța-

  • Ce este adnotarea testului JUnit @Ignore
  • Exemplu de test Junit - Ignorați
  • Crearea unei clase de test simple fără a ignora un test
  • Ignorați o metodă de testare folosind adnotarea @Ignore
  • Folosind @ ignorați adnotarea cu Condition
  • Ignorați toate metodele de testare folosind adnotarea @Ignore.

Ce este adnotarea testului JUnit @Ignore

Adnotarea de testare @Ignore este utilizată pentru a ignora anumite teste sau grupuri de teste pentru a omite eroarea de construire.

Adnotarea @Ignore poate fi utilizată în două scenarii, după cum se arată mai jos:

  1. Dacă doriți să ignorați o metodă de testare, utilizați @Ignore împreună cu adnotarea @Test.
  2. Dacă doriți să ignorați toate testele clasei, utilizați adnotarea @Ignore la nivel de clasă.

Puteți furniza motivul dezactivării unui test în parametrul opțional furnizat de adnotarea @Ignore.

Acesta îi va ajuta pe alți dezvoltatori care lucrează la aceeași bucată de cod, să înțeleagă „de ce un anumit test este dezactivat?” Când problema respectivului test este remediată, îl puteți activa pur și simplu eliminând adnotarea @Ignore .

Exemplu de test Junit - Ignorați

După cum sa discutat în definiția de mai sus, puteți utiliza adnotarea @Ignore pentru a ignora un test sau un grup al testului.

Să-l înțelegem folosind un exemplu simplu și în scenarii date mai jos:

  1. Crearea unei clase de test simple fără a ignora un test.
  2. Ignorați o metodă de testare utilizând adnotarea @Ignore.
  3. Ignorați o metodă de testare utilizând adnotarea @Ignore cu un motiv adecvat.
  4. Ignorați toate metodele de testare utilizând adnotarea @Ignore.

Crearea unei clase de test simple fără a ignora un test

Să creăm o clasă Java simplă care imprimă două tipuri de mesaje.

  • Prima metodă tipărește un mesaj simplu și
  • A doua metodă tipărește un mesaj „salut”

JUnitMessage.java

pachet guru99.junit;public class JUnitMessage {mesaj privat String;public JUnitMessage (mesaj String) {this.message = mesaj;}public String printMessage () {System.out.println (mesaj);returnează mesajul;}public String printHiMessage () {mesaj = "Bună!" + mesaj;System.out.println (mesaj);returnează mesajul;}}

JunitTestExample.java

Să creăm o clasă de test JUnit pentru a testa JUnitMessage.java.

În această clasă de test JUnit,

  • Primul test, denumit "testJUnitMessage ()" testează "printMessage ()" metoda clasei de mai sus.
  • În mod similar, al doilea test, denumit „testJUnitHiMessage” testează „testJUnitHiMessage” din clasa de mai sus.
pachet guru99.junit;import org.junit.Assert.assertEquals static;import org.junit.Test;public class JunitTestExample {public String message = "Guru99";JUnitMessage junitMessage = nou JUnitMessage (mesaj);@Testpublic void testJUnitMessage () {System.out.println ("Junit Message tipărește");assertEquals (mesaj, junitMessage.printMessage ());}@Testpublic void testJUnitHiMessage () {mesaj = "Bună!" + mesaj;System.out.println ("Junit Hi Message tipărește");assertEquals (mesaj, junitMessage.printHiMessage ());}}

TestRunner.java

Să creăm o clasă de test runner pentru a executa JunitTestExample.java

pachet guru99.junit;import org.junit.runner.JUnitCore;import org.junit.runner.Result;import org.junit.runner.notification.Failure;clasă publică TestRunner {public static main main (String [] args) {Rezultatul rezultatului = JUnitCore.runClasses (JunitTestExample.class);pentru (Eșec de eșec: result.getFailures ()) {System.out.println (failure.toString ());}System.out.println ("Result ==" + result.wasSuccessed ());}}

Ieșire:

Declarație tipărită pe consolă:

Junit Hi Message se tipărește

Bună! Guru99

Junit Message se tipărește

Guru99

Ignorați o metodă de testare folosind adnotarea @Ignore

Să creăm test de ignorare pentru a dezactiva un test în exemplul de mai sus. Pentru aceasta, trebuie să utilizați @Ignore în metodă, doriți să săriți.

Să o facem pentru testJUnitMessage () din JunitTestExample.java

JunitTestExample.java

pachet guru99.junit;import org.junit.Assert.assertEquals static;import org.junit.Ignore;import org.junit.Test;public class JunitTestExample {public String message = "Guru99";JUnitMessage junitMessage = nou JUnitMessage (mesaj);@Ignora@Testpublic void testJUnitMessage () {System.out.println ("Junit Message tipărește");assertEquals (mesaj, junitMessage.printMessage ());}@Testpublic void testJUnitHiMessage () {mesaj = "Bună!" + mesaj;System.out.println ("Junit Hi Message tipărește");assertEquals (mesaj, junitMessage.printHiMessage ());}}

Ieșire:

Să executăm și să verificăm rezultatul exemplului de mai sus.

Ieșirea de mai jos arată că un test este omis (dezactivat), a se vedea după cum este marcat mai jos:

Declarație tipărită pe consolă:

Junit Hi Message se tipărește

Bună! Guru99

Folosind @ ignorați adnotarea cu Condition

Să luăm exemplul modului de a ignora un test și să definim motivul ignorării împreună cu acesta. După cum sa discutat mai sus, pentru a furniza un motiv, aveți un parametru opțional în adnotarea @Ignore, unde puteți furniza declarația de motiv.

JunitTestExample.java

pachet guru99.junit;import org.junit.Assert.assertEquals static;import org.junit.Ignore;import org.junit.Test;public class JunitTestExample {public String message = "Guru99";JUnitMessage junitMessage = nou JUnitMessage (mesaj);@Ignore („încă nu este gata, vă rugăm să ignorați”.)@Testpublic void testJUnitMessage () {System.out.println ("Junit Message tipărește");assertEquals (mesaj, junitMessage.printMessage ());}@Testpublic void testJUnitHiMessage () {mesaj = "Bună!" + mesaj;System.out.println ("Junit Hi Message tipărește");assertEquals (mesaj, junitMessage.printHiMessage ());}}

Ieșire:

La fel ca mai sus.

Ignorați toate metodele de testare folosind adnotarea @Ignore.

După cum sa discutat mai sus pentru a ignora toate testele din clasă, trebuie să utilizați adnotarea @Ignore la nivel de clasă.

Să modificăm exemplul de mai sus pentru a înțelege cum să ignorăm toate testele:

pachet guru99.junit;import org.junit.Assert.assertEquals static;import org.junit.Ignore;import org.junit.Test;@Ignorapublic class JunitTestExample {public String message = "Guru99";JUnitMessage junitMessage = nou JUnitMessage (mesaj);@Testpublic void testJUnitMessage () {System.out.println ("Junit Message tipărește");assertEquals (mesaj, junitMessage.printMessage ());}@Testpublic void testJUnitHiMessage () {mesaj = "Bună!" + mesaj;System.out.println ("Junit Hi Message tipărește");assertEquals (mesaj, junitMessage.printHiMessage ());}}

Ieșire:

Declarație tipărită pe consolă:

Deoarece ambele teste s-au omis folosind @Ignore la nivel de clasă, deci nu va fi tipărită nicio declarație pe consolă.

Rezumat:

În acest tutorial, ați învățat cum să ignorați un singur test, un grup de test sau toate testele utilizând adnotarea @Ignore.

Adnotarea @Ignore poate fi utilizată în două scenarii, după cum se arată mai jos:

  1. Dacă doriți să ignorați o metodă de testare, utilizați @Ignore împreună cu adnotarea @Test.
  2. Dacă doriți să ignorați toate testele clasei, utilizați adnotarea @Ignore la nivel de clasă.

De asemenea, ați aflat cum să furnizați o declarație pentru a face să înțelegeți alți dezvoltatori, de ce un anumit test este dezactivat.