JUnit @Ignoreeri katseannotatsiooni näitega

⚡ Nutikas kokkuvõte

JUnit Ignoreeri testi annotatsiooni (Ignore Test Annotation), mis võimaldab arendajatel ehituse ajal üksikuid testimismeetodeid või terveid klasse vahele jätta, hõlmates süntaksit, põhjuseid ja tingimuslikku vahelejätmist.pingja JUnit 5 Puuetega inimeste ränne.

  • 🚫 Vahelejätmise meetod: @Ignore ülaltoodut @Test möödub sellest.
  • 📝 Põhjus: @Ignore(“põhjus”) näitab aruannetes konteksti.
  • 📦 Jäta tund vahele: Klassi puhul jätab @Ignore kõik meetodid vahele.
  • 🧩 Tingimuslik: Kombineeri @Assume'iga JUnit 4.
  • 🚀 JUnit 5: Kasutage variante @Disabled ja EnabledOn.
  • 🤖 Tehisintellekti triaaž: Tehisintellekt märgistab automaatselt aegunud ja ignoreeritud testid.

JUnit @Ignoreeri testi annotatsiooni

Mõnikord võite nõuda meetodi/koodi või mitte käivitamist Testjuhtum sest kodeerimine pole täielikult tehtud. Selle konkreetse testi jaoks JUnit annab @Ignoreeri annotatsioon testi vahelejätmiseks.

Mis on JUnit @Ignoreeri testi annotatsiooni

@Ignore testi annotatsiooni kasutatakse teatud testide või testide rühma ignoreerimiseks, et jätta vahele koostamistõrge.

@Ignoreeri annotatsiooni saab kasutada kahe alltoodud stsenaariumi korral:

  1. Kui soovite katsemeetodit ignoreerida, kasutage @Ignore'i koos @Test annotatsiooniga.
  2. Kui soovite kõiki klassi teste ignoreerida, kasutage klassi tasemel @Ignore annotatsiooni.

Saate anda testi keelamise põhjuse valikulises parameetris, mille pakub @Ignore annotation.

See aitab teistel sama koodilõigu kallal töötavatel arendajatel mõista, miks konkreetne test on keelatud? Kui selle konkreetse testi probleem on lahendatud, saate selle lihtsalt eemaldades lubada @Ignoreeri märkust.

Juniti testi näide – Ignoreeri

Nagu ülaltoodud definitsioonis kirjeldatud, saate testi või testirühma ignoreerimiseks kasutada märkust @Ignore.

Mõistame seda lihtsa näite ja alltoodud stsenaariumide abil:

  1. Lihtsa testklassi loomine testi ignoreerimata.
  2. Ignoreeri testmeetodit @Ignore annotatsiooniga.
  3. Ignoreeri testmeetodit, kasutades @Ignore annotatsiooni õige põhjusega.
  4. Ignoreeri kõiki katsemeetodeid kasutades @Ignore annotatsiooni.

Lihtsa testklassi loomine testi ignoreerimata

Loome lihtsa Java klass, mis prindib kahte tüüpi sõnumeid.

  • Esimene meetod prindib lihtsa sõnumi ja
  • Teine meetod prindib "tere" sõnumi

JUnitSõnum.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

Loome a JUnit katseklass testimiseks JUnitSõnum.java.

Selle JUnit katseklass,

  • Esimene test, nimega "testJUnitMessage ()" testib ülaltoodud klassi meetodit "printMessage()".
  • Samamoodi on teine ​​test nimega "testJUnitHiMessage” testib „testJUnitHiMessage” ülaltoodud klassist.
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

Loome JunitTestExample.java käivitamiseks testijooksja klassi

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

Väljund:

Lihtsa testiklassi loomine ilma testi ignoreerimiseta

Prindi väljavõte konsoolil:

Junit Tere Sõnumit trükitakse

Hi!Guru99

Juniti teadet prinditakse

Guru99

Ignoreeri testmeetodit @Ignore annotatsiooniga

Loome ignoreerimistesti, et keelata test ülaltoodud näites. Selleks peate kasutama @Ignore meetodis, mille soovite vahele jätta.

Teeme seda testiksJUnitJunitTestExample.java sõnum().

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

    }		
}

Väljund:

Käivitame ja kontrollime ülaltoodud näite väljundit.

Allolev väljund näitab, et üks test on vahele jäetud (keelatud), vt allolevat märgistust:

Lihtsa testiklassi loomine ilma testi ignoreerimiseta

Prindi väljavõte konsoolil:

Junit Tere Sõnumit trükitakse

Hi!Guru99

Kasutades @ ignoreeri märkust koos tingimusega

Võtame näite, kuidas testi eirata, ja määratleme koos sellega eiramise põhjuse. Nagu ülalpool kirjeldatud, on teil põhjuse esitamiseks @Ignore annotatsioonis üks valikuline parameeter, kus saate esitada põhjuse.

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

    }		
}		

Väljund:

Sama nagu eespool.

Ignoreeri kõiki katsemeetodeid kasutades @Ignore annotatsiooni.

Nagu eespool mainitud, et kõiki klassis olevaid teste ignoreerida, peate klassi tasemel kasutama @Ignore annotatsiooni.

Muudame ülaltoodud näidet, et mõista, kuidas kõiki teste ignoreerida:

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

    }		
}		

Väljund:

Ignoreeri testimismeetodeid kasutades @Ignore annotation

Prindi väljavõte konsoolil:

Kuna mõlemad testid jäeti vahele, kasutades klassi tasemel @Ignore'i, ei prindita konsoolile ühtegi avaldust.

KKK

Jätab testimismeetodi või klassi vahele. Aruannetes kuvatakse see siiski vahelejäetuna.

Jah. Tehisintellekt analüüsib ebaõnnestumiste ajalugu, et märgistada ebakindlaid kandidaate.

Tehisintellekt lisab muudatuse @Ignore(“põhjus”) muudatuse kinnituskontekstist.

@Disabled, lisaks @DisabledOnOs ja @EnabledOnJre.

Jah. Märgitud vahelejäetuks, eraldi sooritamisest või mitte sooritamisest.

@DisabledOnOs(OS.WINDOWS) sees JUnit 5.

Jah. Neil koguneb võlgu; vaadake iga väljalase uuesti üle.

Jah. @Ignore klassideklaratsiooni kohal.

Võta see postitus kokku järgmiselt: