Introduksjon om JUnit-merknader

JUnit er et av de kraftigste, Java-baserte og åpen kildekode-testerammene tilgjengelig i markedet. Det hjelper til med enkel og rask testopprettelse og utførelse av tester i henhold til kravene ved hjelp av merknader. Merknader gir i utgangspunktet ekstra informasjon om klassene og metodene som brukes i Java-koden. Det hjelper med å utføre testing av hver enhetskomponent, det være seg metoder, klasser, pakker og variabler. Det brukes ofte til enhetstesting av applikasjoner. Den siste oppgraderingen av JUnit er JUnit5. Den støtter Selenium webdriver for automatiseringstesting av web- og mobilapplikasjoner. org. Junit er pakken som inneholder alle grensesnitt og klasser for testing gjennom JUnit.

JUnit-merknad med eksempel

Nedenfor er gitt noen av JUnit-merknadene:

1. @Før

Det er scenarier når noen testtilfeller eller testdata må opprettes før utførelsen av den faktiske test saken. I så fall kom @Før merknader inn i bildet. Ved å kommentere enhver offentlig metode med denne merknaden, kan koden / metoden kjøres før hver @Test-metode. Når det gjelder arv, kalles @ før metoder for superklassen først og deretter @ før metoder for gjeldende klasse.

2. @Etter

Det er motsatt av @Fore kommentar. Det brukes i tilfellene når noen handlinger må utføres som frigjøring av ressurser, rydding av minne, utskrift av alt på konsollen etter utførelsen av @test-metoden (etter utførelsen av alle testtilfeller). Det er et viktig poeng som bør bemerkes for @Etter merknad er at den vil kjøres selv i tilfelle når @test- eller @føre-metodene kaster et unntak. Når det gjelder forhold mellom sub og superklasse, utføres @after-metoden for underklasse / gjeldende klasse før @after-metoden til superklassen.

3. @BeforeClass

Denne merknaden brukes i scenariene når noen handlinger må utføres før utførelsen av et testtilfelle av en bestemt klasse, som å opprette en forbindelse med databasen, lage en oppføring i en database, oppføring i loggene osv. Når @BeforeClass merknad brukes før noen metode, den metoden kjøres før noen testmetode i en klasse. Arbeidet ligner på @Before merknadens eneste forskjell er at @Before utfører metoden før utførelsen av hver @testmetode, mens @BeforeClass bare kjøres en gang, det vil si før utførelsen av @testmetoden i en klasse.

4. @AfterClass

Alle ressursene som er tildelt i @BeforeClass-metoden, må frigis etter utførelsen av alle @test-metodene i gjeldende klasse. Denne samlokaliseringen av ressursene eller en hvilken som helst viktig oppgave som skal gjøres etter utførelsen av hele klassen, gjøres ved @AfterClass-metoden. Kort sagt, @AfterClass-metoden kjøres etter at alle @test-metodene i gjeldende klasse er utført. Den henrettes bare en gang. @AfterClass-metodene kjøres obligatoriske selv om @BeforeClass-metodene kaster et unntak.

Som @After-metoden er bruken av @AfterClass-metoden lik, bortsett fra det faktum at @After-metoden utføres etter hver @testmetode i klassen, mens @AfterClass-metoden utføres en gang etter at alle @testmetodene i en klasse er utført.

5. @ Test

Denne merknaden spesifiserer at den offentlige metoden under denne merknaden er en del av hovedtesten som må utføres. Metoden under @test definerer testsaken som bestått eller mislykket avhengig av om noe unntak / feil oppstår ved utføring av det.

Det kan også brukes på to måter:

  • @ Test (timeout = 500): Den tar parameteren som timeout som godtar verdiene i millisekunder. Den anser testsaken som mislykket når det tar lengre tid enn forventet tid å utføre og passere når den kjøres vellykket innen den angitte tidsgrensen.
  • @ Test (forventet = Unntak.klasse): Det er situasjoner når vi ønsker noen metoder for å kaste et spesifikt unntak. Testfallet mislykkes hvis metoden ikke kaster noe unntak eller ovennevnte unntak.

6. @ ignorere

Det er scenarier når vi ønsker å ignorere noen få testtilfeller og ikke ønsker å kjøre dem. @Ignore hjelper for det samme. Metoder under @Ignore-merknadene blir ikke utført og blir ignorert under utførelsen av koden. Til og med i rapportene som er generert av TestNG viser antall testfall som blir ignorert og antall testsaker bestått.

Eksempel

La oss ta et eksempel på JUnit-merknader

package demo;
import org.junit.*;
public class JUnitAnnotationTest (
// Run once, before any @test method in the class are executed
@BeforeClass
public static void bClass() (
System.out.println("BeforeClass method is called”);
)
// Run once after all the @test methods of the class are executed
@AfterClass
public static void aClass() (
System.out.println("AfterClass method is called");
)
// Run before every @test method of a class is executed
@Before
public void bMethod() (
System.out.println("before method is called");
)
// Run after every @test method of class is executed
@After
public void aMethod() (
System.out.println("after method is called");
)
// Test method which has actual test case
@Test
public void testMethod() (
System.out.println("Test method is called");
)
)

Produksjon:

Fordeler med JUnit-merknader

Nedenfor er gitt noen av fordelene med JUnit-merknader:

  1. JUnit gir en enkel måte å utføre testsakene på en spesifikk måte i henhold til brukerens krav.
  2. Det er enkelt å utføre flere testtilfeller parallelt ved å bruke JUnit ved å kombinere dem i en testsuite.
  3. JUnit-merknader som brukes til å automatisere testtilfeller i Selenium gir veldig detaljerte og interaktive, grafiske rapporter til brukeren som også er veldig brukervennlig.
  4. JUnit lar passere parametrene i metoden på en veldig enkel måte.
  5. JUnit-merknad hjelper til med å utføre ren koding som er veldig lett å forstå for både testere og programmerere.

Konklusjon

Ovennevnte forklaring beskriver tydelig viktigheten av JUnit-rammeverket og rekkefølgen som forskjellige merknader av JUnit blir påberopt. Det er veldig viktig å forstå de forskjellige merknadene før du bruker dem i et program, slik at det ikke skaper noe problem med å kontrollere gjennomføringsflyten.

Anbefalte artikler

Dette er en guide til JUnit-merknader. Her diskuterer vi introduksjonen og merknadene til JUnit med eksempel som inkluderer @ Før, @ etter, @ test og @ ignorere, osv. Du kan også gå gjennom våre andre foreslåtte artikler for å lære mer -

  1. Enhetstesting
  2. White Box Testing
  3. Selenium Arkitektur
  4. Test sele