JUnit Ez ikusi proba kasuak: JUnit 4 @Ignore Vs JUnit 5 @Desgaituta

Tutorial honek JUnit-en proba-kasuak nola baztertu azaltzen du adibideekin. @Ignore erabiltzen ikasiko duzu JUnit 4 & @Disabled Annotation JUnit 5-en:

Aurreko tutorialean, Annotation izeneko APIa zer den ulertu genuen, zer egiten duen eta, gainera, oinarrizko adibideak ikusi genituen bizi-zikloko oharpenak nola erabili, lehentasunak. eutsi proba-kasu bat exekutatzen denean.

Saia gaitezen exekutatu edo behar ez ditugun egoerak argitzen. ez da uste proba-kasu guztiak exekutatzeko. JUnit-en proba-kasuei kasurik ez egiten ikasiko dugu.

JUnit-en proba-kasuei kasurik ez egitea

Exekutatzen ez diren zenbait proba-kasu egon litezke agian ez direlako. kode-aldaketa batzuei dagokie edo proba-kasuetarako kodea oraindik garatzen ari da, eta, beraz, saihestuko ditugu exekutatzen.

Horrelako kasuetan, baliteke proba-kasu multzo bat exekutatu behar izatea beste batzuk saltatuz. . Beraz, zer eskaintzen digu JUnit 4-k, baita JUnit 5-ek ere, proba-kasu batzuk bakarrik exekutatu ahal izateko proba-kasu batzuk baztertu edo desgaitu bitartean edo "saltatzen" deitzeko?

Zorionez, @Ignore oharpena dugu JUnit 4 rako proba kasu bat saltatzeko, berriz, @Disabled oharpena JUnit 5 rako. gauza bera egiteko.

JUnit 4 – @Ignore Annotation

  • JUnit 4 @Ignore anotazioa proba-metodo baterako aplika liteke, bere exekuzioa saltatzeko. Kasu honetan,Saltatu nahi duzun proba-metodo baterako @Ignore erabili behar duzu @Test oharpenarekin.
  • Oharpena proba-klaseari ere aplikatu liteke, klase bateko proba-kasu guztiak saltatzeko. Kasu honetan, @Ignore erabili behar duzu klase mailan.

Kodeak org.junit.Ignore paketea inportatu behar du @Ignore funtziona dezan. Erakutsi dezagun proba metodo bat nola saltatu JUnit 4 proba batean. JUnitProgram.java aldatuko dugu lehen proba metodoa saltatzeko.

Kode zatia hau da:

@Ignore @Test public void test_JUnit1() { System.out.println("This is the testcase test_JUnit1() in this class"); } @Test public void test_JUnit2() { System.out.println("This is the testcase test_JUnit2() in this class"); } @Test public void test_JUnit3() { System.out.println("This is the testcase test_JUnit3() in this class"); }

Klaseko fitxategia exekutatzen denean, test_JUnit1() exekuzioan saltatzen da. Gainera, @Ignore-rekin ohartatutako metodoa eta gainerako proba-metodo guztiak espero bezala exekutatzen dira.

Ondorioz, Exekutatu zenbaketak 3/3 proba-kasu erakusten ditu eta proba-kasu bat saltatua. Exekutatu zenbaketa 3/3 agertu zen, salatutako proba-kasua ere exekutatzen saiatu zelako.

Konsolaren leihoaren beheko pantaila-argazkiak gauza bera frogatzen du.

@Ignore oharpena Arrazoi parametro batekin

Aldakuntza bat dago @Ignore oharpenean ere. Oharpenak argumentu bakarra hartzen du kate-balioarekin, eta hori da proba saltatzeko arrazoia.

Erakuts dezagun @Ignore ohartazioaren aldaera hau.

Kode zatia hau da. :

@Ignore("the testcase is under development") @Test public void test_JUnit1() { System.out.println("This is the testcase test_JUnit1() in this class"); } 

Kontsolaren leihoak izan zen emaitza bera erakusten du @Ignore annotation-ra arrazoia pasatu gabe.

Orain, ikus dezagun nola proba guztiak.klase batekoa desgaitu liteke. Orain @Ignore ohartarazpena eguneratuko dugu JUnitProgram.java-rako klase mailan

Kode zatia behean agertzen dena da:

import org.junit.AfterClass; @Ignore("the testcase is under development") public class JUnitProgram { @BeforeClass public static void preClass() { System.out.println("This is the preClass() method that runs one time before the class"); } @Before public void setUp() { System.out.println("_______________________________________________________\n"); System.out.println("This is the setUp() method that runs before each testcase"); } @Test public void test_JUnit1() { System.out.println("This is the testcase test_JUnit1() in this class"); } 

Klaseko fitxategia exekutatu ondoren, kontsolak k ezer ez erakusten du, eta Exekutatu zenbaketa JUnit fitxan dagoen klase 1 klase batetik saltatu dela erakusten du>.

Behean dago kontsolaren leihoaren pantaila-argazkia:

JUnit 5 – @Disabled Annotation

JUnit 5-en @Disabled anotazioak JUnit 4-ko @Ignore annotation-en antzera funtzionatzen du.

  • Proba-metodo edo proba-talde baten exekuzioa desgaitu edo salta dezakezu oharrak Test mailan aplikatuta.
  • Edo proba guztiak salta litezke @Disabled ohartarazpena klase mailan aplikatu beharrean, proba metodoaren mailan aplikatu beharrean.

@Ignore bezala, arrazoi bat ere gainditu liteke. @Disabled edozein garatzaile edo negozio-analistak proba zehatz bat zergatik saltatu den jakiteko. Parametroak aukerakoa izaten jarraitzen du @Ignore-ren kasuan bezala.

( Oharra: @Disabled oharpena benetako kode baten bidez frogatzea saihestuko dugu, errepikapena saihesteko, jarraituz gero. @Ignore-k jarraitzen du JUnit 4-n modu zehatza.)

@Ignore Vs @Disabled -ren kasuan behatuko duzun desberdintasun bakarra hau da: oharpena aplikatzen denean. klase maila, JUnit klase fitxategia exekutatu osteko,Run zenbaketa JUnit 4 kasuan, klase 1/1 saltatua erakusten du.

Ondorioz, saltatzen ari den klasearen zenbaketa ematen da kasuan, berriz, JUnit 5 -k erakusten du 3/3 proba-kasu saltatzen direla kontuan hartuta hiru proba-metodo saltatu zirela klaseko hiru proba-metodoetatik.

Horregatik, Saltatuta dauden proba kasuen zenbaketaren ikusgarritasuna , JUnit 5 -k zertxobait hobea egiten du JUnit 4-rekin alderatuta.

Ondorioa

Tutorial honetan, proba-kasu batzuen exekuzioa saltatu beharko genituzkeen egoerak zein diren ikasi dugu. Proba kasu jakin batzuk nola saltatzen ere ikasi genuen bai JUnit 4-n eta baita JUnit 5-en ere.

Gora joan