JUnit @Ignore Adnotacja testowa z przykładem

Czasami może być konieczne niewykonywanie metody/kodu lub Przypadek testowy ponieważ kodowanie nie zostało w pełni wykonane. W przypadku tego konkretnego testu JUnit zapewnia @Ignorować adnotacja o pominięciu testu.

Co to jest JUnit @Ignoruj ​​adnotację testową

Adnotacja testu @Ignore służy do ignorowania określonych testów lub grupy testów w celu pominięcia niepowodzenia kompilacji.

@Ignorować adnotacji można użyć w dwóch scenariuszach podanych poniżej:

  1. Jeśli chcesz zignorować metodę testową, użyj @Ignore wraz z adnotacją @Test.
  2. Jeśli chcesz zignorować wszystkie testy klasy, użyj adnotacji @Ignore na poziomie klasy.

Powód wyłączenia testu możesz podać w opcjonalnym parametrze podanym w adnotacji @Ignore.

Pomoże to innym programistom pracującym nad tym samym fragmentem kodu zrozumieć, „dlaczego dany test jest wyłączony?” Gdy problem z tym konkretnym testem zostanie rozwiązany, możesz go po prostu włączyć, usuwając @Ignoruj ​​adnotację.

Przykład testu Junit – Ignoruj

Jak omówiono w powyższej definicji, możesz użyć adnotacji @Ignore, aby zignorować test lub grupę testów.

Rozumiemy to na prostym przykładzie i w poniższych scenariuszach:

  1. Tworzenie prostej klasy testowej bez ignorowania testu.
  2. Ignoruj ​​​​metodę testową, używając adnotacji @Ignore.
  3. Zignoruj ​​metodę testową, używając adnotacji @Ignore z właściwego powodu.
  4. Zignoruj ​​wszystkie metody testowe, używając adnotacji @Ignore.

Tworzenie prostej klasy testowej bez ignorowania testu

Stwórzmy proste Java klasa, która wypisuje dwa typy wiadomości.

  • Pierwsza metoda wypisuje prosty komunikat i
  • Druga metoda drukuje wiadomość „cześć”.

JUnitWiadomość.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

Stwórzmy plik JUnit klasa testowa do przetestowania JUnitWiadomość.java.

W tym JUnit klasa testowa,

  • Pierwszy test o nazwie „testJUnitMessage()” testuje metodę „printMessage()” powyższej klasy.
  • Podobnie drugi test, nazwany „testJUnitHiMessage” testuje “testJUnitHiMessage” powyższej klasy.
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

Utwórzmy klasę uruchamiającą testy, aby wykonać 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());							
   }		
}      	

Wyjście:

Tworzenie prostej klasy testowej bez ignorowania testu

Wydrukuj instrukcję na konsoli:

Junit Cześć Wiadomość jest drukowana

Cześć!Guru99

Wiadomość Junit jest drukowana

Guru99

Ignoruj ​​​​metodę testową za pomocą adnotacji @Ignore

Utwórzmy test ignorowania, aby wyłączyć test w powyższym przykładzie. W tym celu musisz użyć @Ignore w metodzie, którą chcesz pominąć.

Zróbmy to dla testuJUnitMessage() 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());					

    }		
}

Wyjście:

Wykonajmy i zweryfikujmy dane wyjściowe powyższego przykładu.

Poniższe dane wyjściowe pokazują, że jeden test został pominięty (wyłączony), patrz jak zaznaczono poniżej:

Tworzenie prostej klasy testowej bez ignorowania testu

Wydrukuj instrukcję na konsoli:

Junit Cześć Wiadomość jest drukowana

Cześć!Guru99

Używanie adnotacji @ ignorowanie z warunkiem

Weźmy przykład zignorowania testu i zdefiniujmy wraz z nim przyczynę ignorowania. Jak omówiono powyżej, aby podać powód, masz jeden opcjonalny parametr w adnotacji @Ignore, w którym możesz podać powód.

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());					

    }		
}		

Wyjście:

Jak powyżej.

Ignoruj ​​wszystkie metody testowe, używając adnotacji @Ignore.

Jak omówiono powyżej, aby zignorować wszystkie testy w klasie, musisz użyć adnotacji @Ignore na poziomie klasy.

Zmodyfikujmy powyższy przykład, aby zrozumieć, jak zignorować wszystkie testy:

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());					

    }		
}		

wyjście:

Ignoruj ​​metody testowe za pomocą adnotacji @Ignore

Wydrukuj instrukcję na konsoli:

Ponieważ oba testy zostały pominięte przy użyciu @Ignore na poziomie klasy, więc na konsoli nie zostanie wydrukowana żadna instrukcja.

Podsumowanie

W tym samouczku nauczyłeś się ignorować pojedynczy test, grupę testów lub wszystkie testy za pomocą adnotacji @Ignore.

@Ignorować adnotacji można użyć w dwóch scenariuszach podanych poniżej:

  1. Jeśli chcesz zignorować metodę testową, użyj @Ignore wraz z adnotacją @Test.
  2. Jeśli chcesz zignorować wszystkie testy klasy, użyj adnotacji @Ignore na poziomie klasy.

Nauczyłeś się także, jak przedstawić oświadczenie, aby zrozumieć innego programistę, dlaczego dany test jest wyłączony.

Czytaj więcej Czytaj więcej