JUnit @Ignore Adnotare de testare cu exemplu
โก Rezumat inteligent
JUnit Ignorarea adnotฤrii de testare permite dezvoltatorilor sฤ sarฤ peste metode individuale de testare sau clase รฎntregi รฎn timpul construcศiilor, acoperind sintaxa, motivele, omiterea condiศionatฤping ศi JUnit 5 Migrare dezactivatฤ.

Uneori este posibil sฤ solicitaศi sฤ nu executaศi o metodฤ/cod sau Caz de testare deoarece codificarea nu se face pe deplin. Pentru acel test special, JUnit furnizeazฤ @Ignora adnotare pentru a sฤri peste test.
Ce Este JUnit @Ignoraศi adnotarea testului
Adnotarea de test @Ignore este utilizatฤ pentru a ignora anumite teste sau grupuri de teste pentru a omite eศecul de construire.
@Ignora adnotarea poate fi utilizatฤ รฎn douฤ scenarii, dupฤ cum este prezentat mai jos:
- Dacฤ doriศi sฤ ignoraศi o metodฤ de testare, utilizaศi @Ignore รฎmpreunฤ cu adnotarea @Test.
- Dacฤ doriศi sฤ ignoraศi toate testele clasei, utilizaศi adnotarea @Ignore la nivel de clasฤ.
Puteศi furniza motivul pentru dezactivarea unui test รฎn parametrul opศional furnizat de adnotarea @Ignore.
Va ajuta 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 prin eliminare @Ignoraศi adnotarea.
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 de test.
Sฤ-l รฎnศelegem folosind un exemplu simplu ศi รฎn scenariile de mai jos:
- Crearea unei clase de testare simplฤ fฤrฤ a ignora un test.
- Ignoraศi o metodฤ de testare folosind adnotarea @Ignore.
- Ignoraศi o metodฤ de testare folosind adnotarea @Ignore cu un motiv adecvat.
- Ignoraศi toate metodele de testare folosind adnotarea @Ignore.
Crearea unei clase de testare simplฤ fฤrฤ a ignora un test
Sฤ creฤm un simplu Java clasฤ care imprimฤ douฤ tipuri de mesaje.
- Prima metodฤ imprimฤ un mesaj simplu ศi
- A doua metodฤ imprimฤ un mesaj โbunฤโ.
JUnitMesaj.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
Sฤ creฤm un JUnit clasa de testare de testat JUnitMesaj.java.
รn acest JUnit clasa de testare,
- Primul test, numit โtestJUnitMessage()โ testeazฤ metoda โprintMessage()โ din clasa de mai sus.
- รn mod similar, al doilea test, denumit โtestJUnitHiMessageโ testeazฤ โtestJUnitHiMessageโ din clasa de mai sus.
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
Sฤ creฤm o clasฤ test runner pentru a executa 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()); } }
ieศire:
Imprimaศi declaraศia pe consolฤ:
Mesajul Junit Salut se imprimฤ
Bunฤ!Guru99
Mesajul Junit se imprimฤ
Guru99
Ignoraศi o metodฤ de testare folosind adnotarea @Ignore
Sฤ creฤm testul de ignorare pentru a dezactiva un test din exemplul de mai sus. Pentru aceasta, trebuie sฤ utilizaศi @Ignore รฎn metodฤ, doriศi sฤ omiteศi.
Sฤ o facem pentru testJUnitMessage() din 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()); } }
ieศire:
Sฤ executฤm ศi sฤ verificฤm rezultatul exemplului de mai sus.
Rezultatul de mai jos aratฤ cฤ un test este omis (dezactivat), vezi dupฤ cum este marcat mai jos:
Imprimaศi declaraศia pe consolฤ:
Mesajul Junit Salut se imprimฤ
Bunฤ!Guru99
Folosind @ ignore adnotarea cu Condiศie
Sฤ luฤm exemplul cum sฤ ignorฤm 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 motivului.
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()); } }
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:
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()); } }
ieลire:
Imprimaศi declaraศia pe consolฤ:
Deoarece ambele teste au fost sฤrite utilizรขnd @Ignore la nivel de clasฤ, nicio declaraศie nu va fi tipฤritฤ pe consolฤ.



