JUnit @Zanemari testnu napomenu s primjerom
Ponekad možete zahtijevati da ne izvršite metodu/kod ili Testni slučaj jer kodiranje nije u potpunosti obavljeno. Za taj konkretni test, JUnit osigurava @Zanemariti napomena za preskakanje testa.
Što je JUnit @Zanemari testnu napomenu
@Ignore test anotacija koristi se za ignoriranje određenih testova ili grupe testova kako bi se preskočila greška u izgradnji.
@Zanemariti anotacija se može koristiti u dva scenarija kako je navedeno u nastavku:
- Ako želite zanemariti testnu metodu, upotrijebite @Ignore zajedno s @Test napomenom.
- Ako želite ignorirati sve testove klase, upotrijebite @Ignore napomenu na razini klase.
Možete navesti razlog za onemogućavanje testa u izbornom parametru koji daje @Ignore annotation.
Pomoći će drugim programerima koji rade na istom dijelu koda da razumiju "zašto je određeni test onemogućen?" Kada se riješi problem tog određenog testa, možete ga jednostavno omogućiti uklanjanjem @Zanemari napomenu.
Primjer testa Junit – Ignoriraj
Kao što je objašnjeno u gornjoj definiciji, možete koristiti napomenu @Ignore za ignoriranje testa ili grupe testova.
Razumimo to pomoću jednostavnog primjera i scenarija u nastavku:
- Stvaranje jednostavne ispitne klase bez ignoriranja testa.
- Ignorirajte metodu testiranja pomoću oznake @Ignore.
- Ignorirajte testnu metodu pomoću napomene @Ignore s valjanim razlogom.
- Ignoriraj sve testne metode pomoću oznake @Ignore.
Stvaranje jednostavne ispitne klase bez ignoriranja testa
Stvorimo jednostavan Java klasa koja ispisuje dvije vrste poruka.
- Prva metoda ispisuje jednostavnu poruku i
- Druga metoda ispisuje poruku "bok".
JUnitPoruka.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
Stvorimo a JUnit ispitni razred za testiranje JUnitPoruka.java.
U ovom JUnit ispitni razred,
- Prvi test, nazvan “testJUnitMessage()” testira metodu “printMessage()” gornje klase.
- Slično, drugi test, nazvan “testJUnitHiMessage” testira “testJUnitHiMessage” više klase.
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
Kreirajmo klasu pokretača testova za izvođenje 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()); } }
Izlaz:
Ispis izjave na konzoli:
Junit Hi Poruka se ispisuje
Bok!Guru99
Junit Poruka se ispisuje
Guru99
Ignorirajte metodu testiranja pomoću oznake @Ignore
Kreirajmo test zanemarivanja da bismo onemogućili test u gornjem primjeru. Za ovo morate koristiti @Ignore u metodi koju želite preskočiti.
Učinimo to za probuJUnitMessage() od 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()); } }
Izlaz:
Izvršimo i provjerimo izlaz gornjeg primjera.
Donji izlaz pokazuje da je jedan test preskočen (onemogućen), pogledajte kako je označeno u nastavku:
Ispis izjave na konzoli:
Junit Hi Poruka se ispisuje
Bok!Guru99
Korištenje oznake @ ignore uz uvjet
Uzmimo primjer kako ignorirati test i uz njega definirati razlog ignoriranja. Kao što je gore objašnjeno, za navođenje razloga imate jedan izborni parametar u @Ignore napomeni gdje možete navesti izjavu o razlogu.
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()); } }
Izlaz:
Isto kao što je gore.
Zanemarite sve testne metode pomoću oznake @Ignore.
Kao što je gore objašnjeno, da biste zanemarili sve testove u razredu, morate koristiti @Ignore napomenu na razini razreda.
Modificirajmo gornji primjer da bismo razumjeli kako ignorirati sve testove:
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()); } }
Izlaz:
Ispis izjave na konzoli:
Kako su oba testa preskočena upotrebom @Ignore na razini razreda, tako da na konzoli neće biti ispisana izjava.
rezime
U ovom ste vodiču naučili kako ignorirati jedan test, grupu testova ili sve testove pomoću oznake @Ignore.
@Zanemariti anotacija se može koristiti u dva scenarija kako je navedeno u nastavku:
- Ako želite zanemariti testnu metodu, upotrijebite @Ignore zajedno s @Test napomenom.
- Ako želite ignorirati sve testove klase, upotrijebite @Ignore napomenu na razini klase.
Također ste naučili kako dati izjavu da biste razumjeli drugog programera zašto je određeni test onemogućen.