junit ignore test case
Denne veiledningen forklarer hvordan man kan ignorere testtilfeller i JUnit med eksempler. Du lærer å bruke @Ignore i JUnit 4 & @ Disabled Annotation i JUnit 5:
I den forrige opplæringen fikk vi forstå hva API-en kalt Annotation er, hva den gjør, og så også grunnleggende eksempler på hvordan man bruker livssykluskommentarer, prioriteringene de har når en testsak utføres.
La oss prøve å kaste lys over situasjonene når vi trenge ikke løpe eller er ikke antatt å kjøre alle testsakene. Vi vil lære å ignorere testsaker i JUnit.
=> Sjekk ALLE JUnit-veiledninger her.
selen java intervju spørsmål og svar
Hva du vil lære:
JUnit Ignorer testtilfeller
Det kan være visse testsaker som ikke kjøres fordi de kanskje ikke vedrører visse kodeendringer, eller koden for testsakene kan fortsatt være under utvikling, så vi unngår å kjøre dem.
I slike tilfeller må vi kanskje kjøre et sett med testtilfeller ved å hoppe over noen andre. Så hva er det som JUnit 4, så vel som JUnit 5, gir oss slik at vi bare er i stand til å kjøre noen få testtilfeller mens vi ignorerer eller deaktiverer eller kaller det å 'hoppe over' noen få testtilfeller?
Heldigvis har vi det @Overse kommentar for JUnit 4 å hoppe over en prøvesak mens @Funksjonshemmet kommentar for JUnit 5 å gjøre det samme.
JUnit 4 - @Ignore Annotation
- JUnit 4 @Ignore-merknaden kan brukes på en testmetode for å hoppe over kjøringen. I dette tilfellet må du bruke @Ignore med @Test-merknaden for en testmetode du vil hoppe over.
- Merknaden kan også brukes på testklassen, for å hoppe over alle testsakene under en klasse. I dette tilfellet må du bruke @Ignore på klassenivå.
Koden trenger at pakken org.junit.Ignore skal importeres for at @Ignore skal fungere. La oss demonstrere hvordan du hopper over en testmetode i en JUnit 4-test. Vi skal endre JUnitProgram.java for å hoppe over den første testcase-metoden.
Kodebiten er:
@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'); }
Ved utførelsen av klassefilen hoppes test_JUnit1 () under kjøring. Dessuten kjører metoden med @Ignore, og alle andre testmetoder kjører som forventet.
Det resulterende antall kjøringer viser 3/3 testtilfeller og 1 testcase viser hoppet over. Løpstallet viste 3/3 fordi til og med den testede testkassen forsøkte å utføre.
Skjermbildet nedenfor av konsollvinduet viser det samme.
@Ignorer kommentar med en grunnparameter
Det er en variant av @Ignore-merknaden også. Merknaden tar inn et enkelt argument med en strengverdi som er grunnen til at du hopper over testen.
konvertere youtube til mp4 mac gratis online
La oss demonstrere denne variasjonen av @Ignorer kommentar.
Kodebiten er som følger:
@Ignore('the testcase is under development') @Test public void test_JUnit1() { System.out.println('This is the testcase test_JUnit1() in this class'); }
Konsollvinduet viser samme resultat som det var uten årsaken til @Ignore-kommentar.
La oss nå se hvordan alle testene som tilhører en klasse kan deaktiveres. Vi skal nå oppdatere @Ignore-merknaden på klassenivå for JUnitProgram.java
Kodebiten er som vist nedenfor:
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('_______________________________________________________
'); 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'); }
Etter utførelse av klassefilen, konsoll viser ingenting, og Løpe telle under fanen JUnit viser 1 klasse hoppet ut av 1 klasse .
hva er en dat-fil mac
Nedenfor er skjermbildet av konsollvinduet:
JUnit 5 - @Disabled Annotation
@Deaktivert kommentar i JUnit 5 fungerer på samme måte som @Ignorer kommentar i JUnit 4.
- Du kan deaktivere eller hoppe over utførelse for en testmetode eller en gruppe tester ved å bruke kommentaren på testnivå.
- Ellers kan alle testene hoppes over ved å bruke @Disabled-merknad på klassenivå i stedet for å bruke den på testmetodenivå.
I likhet med @Ignore, kan en grunn også sendes til @Disabled for at enhver utvikler eller forretningsanalytiker skal vite hvorfor en spesifikk testcase ble hoppet over. Parameteren forblir valgfri akkurat som i tilfelle @Ignore.
( Merk: Vi skal unngå å demonstrere @Disabled-merknaden gjennom en faktisk kode for å unngå gjentakelse da den følger den nøyaktige måten @Ignore følger i JUnit 4.)
Den eneste forskjellen du skal observere i tilfelle @Ignorer Vs @ Deaktivert er at når merknaden brukes på klassenivå, etter kjøring av JUnit-klassefilen, kjøres antall i tilfelle JUnit 4 , viser 1/1 klasse hoppet over.
Derfor en Antall av klassen som hoppes over er gitt mens i tilfelle JUnit 5 viser at 3/3 testsaker hoppes over med tanke på det tre testmetoder ble hoppet over ut av de totalt tre testmetodene i klassen.
Derfor på synligheten til de tippede testtilfellene teller , JUnit 5 gjør en litt bedre jobb sammenlignet med JUnit 4.
Konklusjon
I denne opplæringen lærte vi hvordan situasjonene er når vi kanskje trenger å hoppe over gjennomføringen av noen få testtilfeller. Vi lærte også hvordan man hopper over visse testtilfeller både i JUnit 4 og JUnit 5.
=> Besøk her for å se JUnit Training Series for alle.
Anbefalt lesing
- Liste over JUnit-merknader: JUnit 4 Vs JUnit 5
- JUnit-tester: Hvordan skrive JUnit-testtilfeller med eksempler
- JUnit Tutorial for nybegynnere - Hva er JUnit-testing
- Hva er en JUnit-testarmatur: Veiledning med JUnit 4-eksempler
- Last ned, installer og konfigurer JUnit i formørkelse
- Flere måter å utføre JUnit-tester på
- Introduksjon til JUnit Framework and Its Usage in Selenium Script - Selenium Tutorial # 11
- Påstander i selen ved bruk av Junit And TestNG Frameworks