JUnit @Игнориране на тестова анотация с пример
⚡ Умно обобщение
JUnit Игнорирането на тестовите анотации позволява на разработчиците да пропускат отделни тестови методи или цели класове по време на компилации, като обхваща синтаксиса, причините, условното пропускане.ping, и JUnit 5 Миграция на хора с увреждания.

Понякога може да поискате да не изпълнявате метод/код или Тестов случай тъй като кодирането не е направено напълно. За този конкретен тест, JUnit осигурява @Игнориране анотация за пропускане на теста.
Какво е JUnit @Игнориране на тестовата анотация
Тестовата анотация @Ignore се използва за игнориране на определени тестове или група от тестове, за да се пропусне неуспешното компилиране.
@Игнориране анотацията може да се използва в два сценария, както е дадено по-долу:
- Ако искате да игнорирате тестов метод, използвайте @Ignore заедно с @Test анотация.
- Ако искате да игнорирате всички тестове на класа, използвайте @Ignore анотация на ниво клас.
Можете да посочите причината за деактивирането на тест в незадължителния параметър, предоставен от анотацията @Ignore.
Това ще помогне на други разработчици, работещи върху същата част от кода, да разберат „защо даден тест е деактивиран?“ Когато проблемът с този конкретен тест бъде отстранен, можете просто да го активирате, като премахнете @Игнориране на анотацията.
Пример за тест Junit – Игнориране
Както беше обсъдено в горната дефиниция, можете да използвате анотация @Ignore, за да игнорирате тест или група от тестове.
Нека го разберем с помощта на прост пример и в дадените по-долу сценарии:
- Създаване на прост тестов клас без игнориране на тест.
- Игнорирайте тестов метод с помощта на анотация @Ignore.
- Игнорирайте тестов метод с помощта на анотация @Ignore с подходяща причина.
- Игнорирайте всички тестови методи с помощта на анотация @Ignore.
Създаване на прост тестов клас без игнориране на тест
Нека създадем проста Java клас, който отпечатва два типа съобщения.
- Първият метод отпечатва просто съобщение и
- Вторият метод отпечатва съобщение „здравей“.
JUnitСъобщение.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
Нека създадем a JUnit тест клас за тестване JUnitСъобщение.java.
В този JUnit тестов клас,
- Първият тест, наречен „тестJUnitMessage()” тества метода “printMessage()” на горния клас.
- По подобен начин вторият тест, наречен „тестJUnitHiMessage” тества “тестJUnitHiMessage” от по-горен клас.
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
Нека създадем тестов клас за изпълнение на 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()); } }
Изход:
Отпечатайте извлечение на конзолата:
Junit Hi Message се отпечатва
Здравейте!Guru99
Съобщението на Junit се отпечатва
Guru99
Игнорирайте тестов метод с помощта на анотация @Ignore
Нека създадем тест за игнориране, за да деактивираме тест в горния пример. За целта трябва да използвате @Ignore в метода, който искате да пропуснете.
Нека го направим за тестJUnitMessage() на 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()); } }
Изход:
Нека изпълним и проверим резултата от горния пример.
Изходът по-долу показва, че един тест е пропуснат (деактивиран), вижте както е отбелязано по-долу:
Отпечатайте извлечение на конзолата:
Junit Hi Message се отпечатва
Здравейте!Guru99
Използване на @ ignore анотация с условие
Нека вземем примера как да игнорирате тест и да определим причината за игнорирането заедно с него. Както беше обсъдено по-горе, за да посочите причина, имате един незадължителен параметър в анотацията @Ignore, където можете да посочите причината.
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()); } }
Изход:
Същото като по-горе.
Игнорирайте всички тестови методи с помощта на анотация @Ignore.
Както беше обсъдено по-горе, за да игнорирате всички тестове в класа, трябва да използвате @Ignore анотация на ниво клас.
Нека променим горния пример, за да разберем как да игнорираме всички тестове:
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()); } }
Изход:
Отпечатайте извлечение на конзолата:
Тъй като и двата теста са пропуснати чрез използване на @Ignore на ниво клас, така че няма да се отпечата изявление на конзолата.



