Stvorite JUnit Test Suite s primjerom: @RunWith @SuiteClasses

Sadržaj:

Anonim

U Junitu, testni paket omogućuje nam objedinjavanje svih testnih slučajeva iz više klasa na jednom mjestu i njegovo pokretanje zajedno.

Da biste pokrenuli test testa, morate označiti klasu pomoću dolje navedenih napomena:

  1. @Runwith (Suite.class)
  2. @SuiteClasses (test1.class, test2.class…) ili

    @ Suite.SuiteClasses ({test1.class, test2.class

    …})

S gornjim napomenama, sve će se testne klase u paketu početi izvršavati jedna po jedna.

Koraci za stvaranje Test Suite i Test Runner

Korak 1) Stvorite jednostavnu testnu klasu (npr. MyFirstClassTest) i dodajte metodu označenu s @test.

Korak 2) Izradite drugu testnu klasu koju želite dodati (npr. MySecondClassTest) i stvorite metodu označenu s @test.

Korak 3) Da biste stvorili testSuite, morate prvo označiti razred s @RunWith (Suite.class) i @SuiteClasses (class1.class2

…).

Korak 4) Stvorite klasu Test Runner da biste pokrenuli naš testni paket kako je navedeno u nastavku;

Objašnjenje koda:

  • Redak koda 8: Deklariranje glavne metode testa klase koja će izvoditi naš JUnit test.
  • Redak koda 9: Izvršavanje testnih slučajeva pomoću JunitCore.runclasses koji uzima naziv klase testa kao parametar (u gornjem primjeru koristite TestSuiteExample.class prikazan u koraku 3).
  • Linija 11: Obrada rezultata pomoću for for i ispis neuspjelog rezultata.
  • Linija 13: Ispis uspješnog rezultata.

Izlaz: Evo izlaza koji prikazuje uspješan test bez traga kvara kako je navedeno u nastavku:

Primjer JUnit Test Suite

Razmotrimo složeniji primjer

JunitTest.java

JunitTest.java je jednostavna klasa označena bilješkama @RunWith i @Suite . Možete navesti broj .razreda u paketu kao parametre kako je navedeno u nastavku:

paket guru99.junit;import org.junit.runner.RunWith;uvoz org.junit.runners.Suite;@RunWith (Suite.class)@ Suite.SuiteClasses ({SuiteTest1.class,SuiteTest2.class,})javna klasa JunitTest {// Ova klasa ostaje prazna, koristi se samo kao držač za gornje napomene}

SuiteTest1.java

SuiteTest1.java je test klasa koja ima test metodu za ispis poruke kako je dano u nastavku. Koristit ćete ovaj razred kao paket u gore spomenutom razredu.

paket guru99.junit;uvoz statičke org.junit.Assert.assertEquals;uvoz org.junit.Test;javni razred SuiteTest1 {poruka javnog niza = "Saurabh";JUnitMessage junitMessage = nova JUnitMessage (poruka);@Test (očekuje se = ArithmeticException.class)javni void testJUnitMessage () {System.out.println ("Junit poruka se ispisuje");junitMessage.printMessage ();}@Testjavni void testJUnitHiMessage () {message = "Bok!" + poruka;System.out.println ("Junit Hi Message ispisuje se");assertEquals (message, junitMessage.printHiMessage ());System.out.println ("Test testa 2 je uspješan" + poruka);}}

SuiteTest2.java

SuiteTest2.java je još jedan test razred sličan SuiteTest1.java koji ima test metodu za ispis poruke kako je dano u nastavku. Koristit ćete ovu klasu kao paket u JunitTest.java .

paket guru99.junit;uvoz org.junit.Assert;uvoz org.junit.Test;javni razred SuiteTest2 {@Testjavna praznina createAndSetName () {Niz se očekuje = "Y";Stvarni niz = "Y";Assert.assertEquals (očekivano, stvarno);System.out.println ("Test 1 Suite je uspješan" + stvarni);}}

Izlaz

Nakon izvršavanja JunitTest .java koji sadrži paket koji sadrži test1.java i test2.java , dobit ćete ispod rezultata:

Sažetak

U ovom vodiču detaljno ste naučili osnove ispitnog svežnja i ispitnih apartmana s primjerom.

  • Ispitni pojas ili automatizacija Testiranje je softver ili zbirka softvera koji omogućava korisniku da testira podatke s više ulaza i kontrolira izvršenje
  • Ispitni pojas zapravo omogućuje testni okvir koji obavlja sav posao izvršavanja testova pomoću testne knjižnice i generiranja izvještaja o ispitivanju
  • U Junitu, testni paket omogućuje nam objedinjavanje svih testnih slučajeva mnogih klasa na jednom mjestu i njegovo pokretanje zajedno.