JUnit @Példával a teszt megjegyzés figyelmen kívül hagyása

Néha előfordulhat, hogy nem kell végrehajtani egy metódust/kódot vagy Teszt eset mert a kódolás nem történik meg teljesen. Az adott teszthez JUnit biztosít @Figyelmen kívül hagyni megjegyzést a teszt kihagyásához.

Mi a JUnit @A teszt annotáció figyelmen kívül hagyása

Az @Ignore teszt megjegyzést arra használjuk, hogy figyelmen kívül hagyjon bizonyos teszteket vagy tesztcsoportokat, hogy kihagyja az összeállítási hibát.

@Figyelmen kívül hagyni az annotáció két forgatókönyvben használható, az alábbiak szerint:

  1. Ha figyelmen kívül szeretne hagyni egy tesztmódszert, használja az @Ignore és a @Test megjegyzést.
  2. Ha figyelmen kívül szeretné hagyni az osztály összes tesztjét, használja az @Ignore annotációt az osztály szintjén.

A teszt letiltásának okát az @Ignore annotation által biztosított opcionális paraméterben adhatja meg.

Segít más fejlesztőknek, akik ugyanazon a kódon dolgoznak, hogy megértsék, „miért van letiltva egy adott teszt?” Ha az adott teszt problémája megoldódott, egyszerűen engedélyezheti az eltávolítással @A kommentár figyelmen kívül hagyása.

Junit teszt példa – Figyelmen kívül hagyás

A fenti definíció szerint a @Ignore annotáció használatával figyelmen kívül hagyhat egy tesztet vagy tesztcsoportot.

Értsük meg ezt egy egyszerű példa segítségével és az alábbi forgatókönyvek alapján:

  1. Egyszerű tesztosztály létrehozása a teszt figyelmen kívül hagyása nélkül.
  2. Hagyjon figyelmen kívül egy tesztmódszert a @Ignore megjegyzés használatával.
  3. Figyelmen kívül hagyja az @Ignore megjegyzést használó tesztmódszert megfelelő indoklással.
  4. Az összes vizsgálati módszer figyelmen kívül hagyása a @Ignore megjegyzés használatával.

Egyszerű tesztosztály létrehozása a teszt figyelmen kívül hagyása nélkül

Hozzunk létre egy egyszerűt Java osztály, amely kétféle üzenetet nyomtat.

  • Az első módszer egy egyszerű üzenetet nyomtat és
  • A második módszer „szia” üzenetet nyomtat

JUnitÜzenet.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;					
}    		
    		
}		

JunitTestPélda.java

Hozzuk létre a JUnit teszt osztály tesztelni JUnitÜzenet.java.

Ebben JUnit teszt osztály,

  • Az első teszt, a „tesztJUnitA Message()” a fenti osztály „printMessage()” metódusát teszteli.
  • Hasonlóképpen a második teszt, a „tesztJUnitHiMessage” teszteli a „tesztJUnitHiMessage” a fenti osztályból.
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

Hozzon létre egy tesztfutó osztályt a JunitTestExample.java futtatásához

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

output:

Egyszerű tesztosztály létrehozása teszt figyelmen kívül hagyása nélkül

Nyilatkozat nyomtatása a konzolon:

Junit Szia Üzenet nyomtatás alatt áll

Szia!Guru99

A Junit üzenet nyomtatása folyamatban van

Guru99

Hagyjon figyelmen kívül egy tesztmódszert a @Ignore megjegyzés használatával

Hozzuk létre a figyelmen kívül hagyási tesztet a fenti példában szereplő teszt letiltásához. Ehhez a @Ignore-t kell használnia a metódusban, amelyet ki szeretne hagyni.

Tegyük meg próbaképpenJUnitA JunitTestExample.java üzenete()

JunitTestPélda.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());					

    }		
}

output:

Végezzük el és ellenőrizzük a fenti példa kimenetét.

Az alábbi kimenet azt mutatja, hogy egy teszt kimaradt (letiltva), lásd alább:

Egyszerű tesztosztály létrehozása teszt figyelmen kívül hagyása nélkül

Nyilatkozat nyomtatása a konzolon:

Junit Szia Üzenet nyomtatás alatt áll

Szia!Guru99

A @ figyelmen kívül hagyása megjegyzés használata a Feltételnél

Vegyünk egy példát egy teszt figyelmen kívül hagyására, és határozzuk meg vele együtt a figyelmen kívül hagyás okát. Amint azt fentebb tárgyaltuk, az ok megadásához van egy opcionális paraméter az @Ignore megjegyzésben, ahol megadhatja az okot.

JunitTestPélda.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());					

    }		
}		

output:

Ugyanaz, mint fent.

Figyelmen kívül hagyja az összes vizsgálati módszert az @Ignore megjegyzés használatával.

Amint azt fentebb tárgyaltuk, hogy figyelmen kívül hagyja az összes tesztet az osztályban, az @Ignore annotációt kell használnia az osztály szintjén.

Módosítsuk a fenti példát, hogy megértsük, hogyan lehet figyelmen kívül hagyni az összes tesztet:

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

    }		
}		

Kimenet:

Tesztmódszerek figyelmen kívül hagyása @Ignore Annotation használatával

Nyilatkozat nyomtatása a konzolon:

Mivel mindkét teszt kimaradt az @Ignore használatával osztályszinten, így a konzolra nem kerül kiírásra.

Összegzésként

Ebben az oktatóanyagban megtanulta, hogyan hagyhat figyelmen kívül egyetlen tesztet, tesztcsoportot vagy az összes tesztet az @Ignore megjegyzés használatával.

@Figyelmen kívül hagyni az annotáció két forgatókönyvben használható, az alábbiak szerint:

  1. Ha figyelmen kívül szeretne hagyni egy tesztmódszert, használja az @Ignore és a @Test megjegyzést.
  2. Ha figyelmen kívül szeretné hagyni az osztály összes tesztjét, használja az @Ignore annotációt az osztály szintjén.

Azt is megtanulta, hogyan adjon nyilatkozatot, hogy megértse a többi fejlesztőt, miért van letiltva egy adott teszt.