JUnit @Игнорировать тестовую аннотацию с примером

⚡ Умное резюме

JUnit Аннотация «Игнорировать тест» позволяет разработчикам пропускать отдельные тестовые методы или целые классы во время сборки, учитывая синтаксис, причины и условия пропуска.ping и JUnit 5. Отключенная миграция.

  • ???? Метод пропуска: @Ignore выше @Test обходит это.
  • ???? Причина: @Ignore(“reason”) отображает контекст в отчетах.
  • 📦 Пропуск урока: Аннотация `@Ignore` в классе пропускает все методы.
  • 🧩 Условно: Объединить с @Assume в JUnit 4.
  • 🚀 JUnit 5: Используйте варианты @Disabled и EnabledOn.
  • 🤖 ИИ-сортировка: Искусственный интеллект автоматически помечает устаревшие и игнорируемые тесты.

JUnit @Игнорировать тестовую аннотацию

Иногда вам может потребоваться не выполнять метод/код или Тестовый кейс потому что кодирование выполнено не полностью. Для этого конкретного теста JUnit приводит @ Игнорировать аннотация, чтобы пропустить тест.

Что такое JUnit @Игнорировать тестовую аннотацию

Аннотация теста @Ignore используется для игнорирования определенных тестов или группы тестов, чтобы пропустить сбой сборки.

@ Игнорировать аннотацию можно использовать в двух сценариях, как указано ниже:

  1. Если вы хотите игнорировать метод тестирования, используйте @Ignore вместе с аннотацией @Test.
  2. Если вы хотите игнорировать все тесты класса, используйте аннотацию @Ignore на уровне класса.

Вы можете указать причину отключения теста в необязательном параметре, предоставленном аннотацией @Ignore.

Это поможет другим разработчикам, работающим над тем же фрагментом кода, понять, «почему тот или иной тест отключен?» Когда проблема с этим конкретным тестом будет устранена, вы можете просто включить его, удалив @ Игнорировать аннотацию.

Пример теста Junit – игнорировать

Как обсуждалось в приведенном выше определении, вы можете использовать аннотацию @Ignore, чтобы игнорировать тест или группу тестов.

Давайте разберемся в этом на простом примере и в приведенных ниже сценариях:

  1. Создание простого тестового класса без игнорирования теста.
  2. Игнорируйте метод тестирования, используя аннотацию @Ignore.
  3. Игнорируйте метод тестирования с помощью аннотации @Ignore по уважительной причине.
  4. Игнорируйте все методы тестирования, используя аннотацию @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

Давайте создадим JUnit тестовый класс для тестирования JUnitСообщение.java.

В этом JUnit тестовый класс,

  • Первый тест под названием «testJUnitMessage()» тестирует метод printMessage() вышеуказанного класса.
  • Аналогично второй тест, названный «testJUnitHiMessage» тестирует «тест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 печатается

Привет!Guru99

Сообщение Junit печатается

Guru99

Игнорировать метод тестирования с помощью аннотации @Ignore.

Давайте создадим тест игнорирования, чтобы отключить тест в приведенном выше примере. Для этого вам нужно использовать @Ignore в методе, который вы хотите пропустить.

Давайте сделаем это для тестаJUnitСообщение() из 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 печатается

Привет!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

Распечатайте заявление на консоли:

Поскольку оба теста пропускаются с использованием @Ignore на уровне класса, поэтому на консоли не будет выводиться ни один оператор.

Часто задаваемые вопросы (FAQ)

Пропускает тестовый метод или класс. В отчетах по-прежнему отображается как пропущенный.

Да. Искусственный интеллект анализирует историю отказов, чтобы выявлять ненадежные варианты.

Искусственный интеллект вставляет аннотацию @Ignore(“reason”) из контекста коммита.

@Disabled, а также @DisabledOnOs и @EnabledOnJre.

Да. Отмечается как пропущенный, отдельно от «пройдено» или «не пройдено».

@DisabledOnOs(OS.WINDOWS) в JUnit 5.

Да. Они накапливают долги; пересматривают каждый релиз.

Да. @Ignore выше объявления класса.

Подведем итог этой публикации следующим образом: