JUnit @Ignorer testkommentar med eksempel

Noen ganger kan du kreve å ikke kjøre en metode/kode eller Testsak fordi koding ikke er fullført. For den spesielle testen, JUnit gir @Overse merknad for å hoppe over testen.

Hva er JUnit @Ignorer testanmerkning

@Ignorer testkommentaren brukes til å ignorere bestemte tester eller gruppe av tester for å hoppe over byggefeilen.

@Overse merknad kan brukes i to scenarier som gitt nedenfor:

  1. Hvis du vil ignorere en testmetode, bruk @Ignorer sammen med @Test-kommentaren.
  2. Hvis du vil ignorere alle testene i klassen, bruk @Ignorer kommentar på klassenivå.

Du kan oppgi årsaken til å deaktivere en test i den valgfrie parameteren gitt av @Ignorer kommentar.

Det vil hjelpe andre utviklere som jobber med den samme kodebiten, å forstå "hvorfor en bestemt test er deaktivert?" Når problemet med den aktuelle testen er løst, kan du ganske enkelt aktivere den ved å fjerne @Ignorer kommentar.

Junit Test Eksempel – Ignorer

Som diskutert i definisjonen ovenfor, kan du bruke @Ignorer kommentar for å ignorere en test eller gruppe av testen.

La oss forstå det ved å bruke enkle eksempler og i nedenfor gitte scenarier:

  1. Opprette en enkel testklasse uten å ignorere en test.
  2. Ignorer en testmetode ved å bruke @Ignore annotering.
  3. Ignorer en testmetode ved å bruke @Ignore annotering med riktig grunn.
  4. Ignorer alle testmetoder ved å bruke @Ignorer kommentar.

Opprette en enkel testklasse uten å ignorere en test

La oss lage en enkel Java klasse som skriver ut to typer meldinger.

  • Første metode skriver ut en enkel melding og
  • Den andre metoden skriver ut en "hei"-melding

JUnitMessage.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

La oss lage en JUnit test klasse for å teste JUnitMessage.java.

I dette JUnit test klasse,

  • Første test, kalt "testJUnitMessage()" tester "printMessage()"-metoden av klassen ovenfor.
  • Tilsvarende den andre testen, kalt "testJUnitHiMessage" tester "testJUnitHiMessage" av klassen ovenfor.
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

La oss lage en testløperklasse for å kjøre 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());							
   }		
}      	

Utgang:

Opprette en enkel testklasse uten å ignorere en test

Skriv ut uttalelse på konsollen:

Junit Hi Message skrives ut

Hei!Guru99

Junit Message skrives ut

Guru99

Ignorer en testmetode ved å bruke @Ignorer merknad

La oss lage ignoreringstest for å deaktivere en test i eksemplet ovenfor. For dette må du bruke @Ignore i metoden du vil hoppe over.

La oss gjøre det for testJUnitMelding() til 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());					

    }		
}

Utgang:

La oss utføre og verifisere utdataene fra eksemplet ovenfor.

Utdata nedenfor viser at én test er hoppet over (deaktivert), se som merket nedenfor:

Opprette en enkel testklasse uten å ignorere en test

Skriv ut uttalelse på konsollen:

Junit Hi Message skrives ut

Hei!Guru99

Bruk @ ignorer merknad med betingelse

La oss ta eksempelet på hvordan man ignorerer en test og definerer årsaken til å ignorere sammen med den. Som diskutert ovenfor, for å oppgi en årsak har du én valgfri parameter i @Ignorer kommentaren der du kan oppgi grunnsetningen.

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

    }		
}		

Utgang:

Samme som ovenfor.

Ignorer alle testmetoder ved å bruke @Ignorer kommentar.

Som diskutert ovenfor for å ignorere alle testene i klassen, må du bruke @Ignorer kommentar på klassenivå.

La oss endre eksemplet ovenfor for å forstå hvordan du kan ignorere alle testene:

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

    }		
}		

Utgang:

Ignorer testmetoder ved å bruke @Ignorer merknad

Skriv ut uttalelse på konsollen:

Siden begge testene hoppet over ved å bruke @Ignore på klassenivå, ble ingen setning skrevet ut på konsollen.

Oppsummering

I denne opplæringen lærte du hvordan du ignorerer en enkelt test, gruppe med tester eller alle tester ved å bruke @Ignore-kommentaren.

@Overse merknad kan brukes i to scenarier som gitt nedenfor:

  1. Hvis du vil ignorere en testmetode, bruk @Ignorer sammen med @Test-kommentaren.
  2. Hvis du vil ignorere alle testene i klassen, bruk @Ignorer kommentar på klassenivå.

Du har også lært hvordan du gir en erklæring for å forstå andre utviklere, hvorfor en bestemt test er deaktivert.