junit tutorial beginners what is junit testing
Ovaj Vodič za početnike za JUnit objašnjava što je Jedinstveno testiranje, Obuhvat testiranja i Što je JUnit Okvir za testiranje, zajedno s primjerima JUnit ispitnih slučajeva:
Ova serija JUnit pripremljena je kako bi se usredotočila na našu publiku koja je apsolutni početnik, kao i na onu koja dobro poznaje Javu ili JUnit i koja je zainteresirana za učenje JUnit-a.
Sveukupna serija postavljena je na takav način da ćete moći protumačiti razliku između JUnit 4 i Junit 5.
Krenimo sada istraživati JUnit !!
Što ćete naučiti:
unit testiranje vs funkcionalno testiranje vs integracijsko testiranje
Popis tutorijala u ovoj JUnit seriji
Vodič br. 1: JUnit lekcije za početnike - što je JUnit testiranje? (Ovaj vodič)
Vodič br. 2: Preuzmite, instalirajte i konfigurirajte JUnit u Eclipseu
Vodič br. 3: JUnit testovi: Kako napisati JUnit test slučajeve s primjerima
Vodič br. 4: Što je učvršćenje JUnit testa: Vodič uz primjere JUnit 4
Vodič br. 5: Više načina za izvršavanje JUnit testova
Vodič br. 6: Popis JUnit napomena: JUnit 4 vs JUnit 5
Vodič br. 7: JUnit Ignore Test Case: JUnit 4 @Ignore Vs JUnit 5 @Disabled
Vodič br. 8: JUnit Test Suite i testni slučajevi filtriranja: JUnit 4 Vs JUnit 5
Vodič br. 9: Nalog za izvršenje JUnit testa: Poredak testova JUnit 4 Vs JUnit 5
Vodič br. 10: Kako koristiti bilješku JUnit 5 @Ponovljeni test s primjerima
Vodič br. 11: JUnit 5 Ugnježđena klasa: @Gniježđena lekcija s primjerima
Vodič br. 12: JUnit 5 Prilagođeno ime za prikaz i izvršenje uvjetnog testa
Vodič br. 13: JUnit Vs TestNG - Koje su razlike
Vodič za JUnit
U tipičnom pristupu razvojno vođenom testom (TDD), programeri se usredotočuju na jedinstveno testiranje svakog dijela koda koji razvijaju. Što je bolje testiranje proizvoda, to je bolja kvaliteta. Svi znamo da bi testiranje trebalo ići paralelno sa svakom prolaznom fazom životnog ciklusa razvoja softvera.
Počevši od zahtjeva i analize do dizajniranja i razvoja do održavanja, svaka faza trebala bi imati odgovarajuću fazu ispitivanja koja je povezana s njom. Jedinstveno testiranje nakon razvoja je ono što je poželjno za izgradnju robusne aplikacije i za postavljanje optimiziranog koda.
Što je jedinstveno testiranje?
Jedinstveno testiranje je testiranje male logike ili koda kako bi se potvrdilo da je izlaz koda očekivan na unosu određenih podataka i / ili zadovoljavanju određenih uvjeta. Obično bi jedinični testovi trebali biti neovisni od ostalih testova.
Jedinstveni testovi nisu izvedivi za testiranje složenih sučelja s drugom aplikacijom ili trećim stranama / vanjskim uslugama. Jedinstveni test cilja samo malu jedinicu koda koja bi mogla biti samo metoda ili klasa.
Pomaže razvojnom programeru da otkrije probleme u trenutnoj logici i sve greške u regresiji zbog trenutne promjene. Osim toga, također pruža uvid u to kako bi trenutni kôd mogao utjecati na buduću provedbu.

Obuhvat testom
Nazvan je postotak koda koji se testira jedinstvenim testovima pokrivenost testom .
Cilj je imati bolju i veću pokrivenost testnog koda, što se u budućnosti nastavlja nadopunjavati s regresijskim testnim paketom i pomaže u povećanju automatiziranog izvršavanja i provjere testa, čime se smanjuje ručni napor uključen u regresijsko testiranje.
Pokretanje testova automatski pomaže prepoznati probleme s regresijom softvera uvedene promjenama u trenutnom kodu. Pokrivanje vašeg koda visokim testom omogućuje vam daljnji razvoj značajki bez potrebe za izvođenjem puno ručnih testova.
Mnogi dolaze s pitanjem koliko je presudno pokrivanje presudno . Odgovor na ovo pitanje je da ne postoji čvrsto pravilo o tome koliko je važno pokrivanje testova; sve je osuđujuće. Presuda postaje bolja s iskustvom u tijeku rada s prijavom i povijesnim znanjem o dosad utvrđenim nedostacima.
Učinkoviti testovi ne moraju nužno značiti 100% pokrivenost testovima ili uključivanje testova automatizacije i / ili jediničnih testova za svaku pojedinu granu ili pokrivenost puta.
Neke trivijalne provjere poput poruke o pogrešci provjere za obavezno polje koje je ostalo prazno i koje godinama nije manjkavo ne moraju biti uključene u regresijski paket.
Ručno testiranje protiv automatiziranog testiranja
Jedinstveno testiranje može se obaviti putem dva pristupa:
- Ručno ispitivanje
- Automatizirano ispitivanje

U oba pristupa tijek rada ostaje uobičajen:
- Izrada test slučaja
- Pregledavajući ga
- Preradite ako su potrebne korekcije
- Izvršite test slučaja
- Analizirajte rezultate ispitivanja
Iz sljedećih razloga prednost se daje automatiziranom testiranju u odnosu na ručno.
| Ručno ispitivanje | Automatizirano ispitivanje |
|---|---|
| Kada se testcase izvršava ručno bez intervencije alata, naziva se ručno testiranje. | Kada se testcase izvršava uz pomoć alata bez puno ručnih intervencija, naziva se automatizirano testiranje. |
| Uključeni su ponavljani ručni napori. | Ponavljajući ručni napori mogu se izbjeći. |
| Ljudski napori u ručnom testiranju mogli bi biti pogrešni i dugotrajni. | Testovi automatizacije su brži i bez pogrešaka u usporedbi s ručnim naporima. |
| Potrebni resursi za testiranje više su potrebni za ručno pokretanje svakog testca, čime se dodaje ulaganje u resurse. | Za izvršavanje automatiziranih testova pomoću dodijeljenih automatiziranih alata potrebno je manje testera, stoga se manje ulaže u resurse za testiranje, što povećava profitabilnost. |
| Ručno testiranje mora biti ograničeno na malo ispitivanje s obzirom na vremenska ograničenja. Stoga postoji rizik od preskakanja mnogih scenarija ispitivanja, što dovodi do rizika od curenja nedostataka. | Mnogo različitih scenarija ispitivanja može se automatizirati i može se izvršiti više puta čak i pod vremenom i krizom resursa, što dovodi do bolje pokrivenosti testom i bolje kvalitete isporučivog proizvoda. |
Okvir jediničnog ispitivanja
Možda ćemo imati sljedeće pitanje kako izgleda tipični testni slučaj jedinice automatizacije i okvir koji slijedi. Programeri koriste Okvir jediničnog ispitivanja za stvaranje automatiziranih jedinica test slučajeva.
- Da bi se provjerilo radi li kod logično kako se očekuje, kreira se testcase s određenom kontrolnom točkom ili kriterijem provjere.
- Kada se testcase izvrši, kriterij / uvjet prolazi ili ne uspijeva.
- Zapisnik se generira prema tijeku rada testcase-a.
- Okvir će izvijestiti sažeti rezultat o položenim i neuspjelim testnim slučajevima.
- Prema ozbiljnosti kvara, test test možda neće nastaviti dalje i može zaustaviti naknadno izvršavanje.
- Mogu postojati određeni niski ozbiljni kvarovi koji se prijavljuju u zapisniku, no ne prikazuje se teško zaustavljanje, već se nastavlja bez blokiranja daljnjih koraka ispitivanja.
Što je JUnit?
JUnit je okvir otvorenog koda koji se koristi za pisanje i izvršavanje jediničnih testova u programskom jeziku Java. To je jedan od najpoznatijih okvira za jedinično testiranje.
Slika ispod prikazuje različite poznate alate za ispitivanje automatiziranih jedinica.
c ++ struktura podataka stabla

Dolje su navedeni atributi s kojima je JUnit pakiran:
- Postoji ogroman popis napomena za identificiranje, izvršavanje i podršku mnogim značajkama metoda ispitivanja.
- Postoje Tvrdnje za provjeru očekivanih rezultata.
- Pruža Test Runner za izvršavanje testova.
- JUnit nudi osnovni ugrađeni predložak tako da u kratkom vremenu možete napisati male, jednostavne testove.
- JUnit testovi pomažu vam u pisanju neovisnih modula, čime poboljšavaju pokrivenost testom i kvalitetu aplikacije.
- Omogućuje ne samo jednostavno stvaranje i izvršavanje testova, već i programeru daje čisto i jasno eksplicitno izvješće koje eliminira potrebu programera da pretražuje put izvješća i rezultata ispitivanja.
- Dok izvršavanje testa ne bude glatko plovilo, možete se opustiti gledajući zelenu traku napretka testa koja se prikazuje dok je izvršavanje u tijeku, a upozorava vas crveno čim test ne uspije na kontrolnoj točki provjere.
- Mogu se stvoriti ispitni paketi kako bi se spojio niz ili povezani skupovi test slučajeva.
Primjeri JUnit testcase
Dolje su navedena dva primjera vrlo osnovnog programa Hello World kako biste stekli razumijevanje kako izgleda JUnit test klasa ili koliko drugačije izgleda u usporedbi s uobičajenom datotekom Java klase.
Primjer # 1:
Ovdje je JUnit testcase HelloWorldJUnit.java koji provjerava podudara li se niz 'Hello world' sa nizom 'hello world' koji ne uspijeva u izvršenju, jer podudaranje razlikuje velika i mala slova. Dakle, dvije žice se ne podudaraju i test ne uspije .
Kôd za HelloWorldJUnit.java
kako izvršiti jar datoteku
package demo.tests; import static org.junit.Assert.*; import org.junit.Test; public class HelloWorldJUnit { @Test public void test() { assertEquals('Hello world','hello world'); } } Primjer # 2:
Evo, vidjet ćemo kako je to uobičajeno Java datoteka klase komunicira s JUNIT testcase. Mi stvaramo Java datoteka klase HelloWorld_Java.java s konstruktorom koji nam omogućuje prosljeđivanje vrijednosti Stringa i metodu getText () za dohvaćanje vrijednosti niza.
JUNIT Test klasa HelloWorldJUnit.java kreira se tako da se kreira objekt klase za HelloWorld_Java i stvarna vrijednost niza prenese u objekt. AssertEquals () iz JUnit-a provjerava podudaraju li se očekivane i stvarne vrijednosti niza.
Kôd za HelloWorld_Java.java
package demo.tests; import static org.junit.Assert.*; import org.junit.Test; public class HelloWorldJUnit { @Test public void test() { assertEquals('Hello world','hello world'); } } Kôd za HelloWorldJUnit.java
package demo.tests; public class HelloWorldJUnit{ private String s; public HelloWorld_Java(String s) { @Test public void test() { HelloWorld_Java hw=new HelloWorld_Java('Hello World'); assertEquals(hw.getText(),'Hello World'); } } Rezultat izgleda kao ispod gdje vidimo kako se dvije žice podudaraju. Dakle, JUnit test je prošao.

Zaključak
Kada je riječ o pružanju brzog pregleda što je JUnit i što radi, JUNIT je lijepo izrađen okvir koji vam omogućuje stvaranje i izvršavanje jediničnih testova na automatiziran način.
Riječ je o alatu otvorenog koda, a bez toliko muke. Bilo da se radi o stvaranju test slučajeva ili izvršenju testcase-a ili izvještavanju nakon izvršenja ili održavanja testova, JUnit je elegantan u svakom aspektu. Da, može i elegantno zakazati; a vidjet ćemo kako će se to dogoditi u našem nadolazećem vodiču dok idemo dalje.
O autoru: Ovaj je vodič napisaoShobhaD. Radi kao voditeljica projekta i dolazi s više od 9 godina iskustva u ručnom, automatizacijskom i API ispitivanju.
Nastavimo dalje osvjetljavati svaki aspekt JUNIT-a ovdje.
Preporučena literatura
- Java Vodič za refleksiju s primjerima
- Java String sadrži () Vodič za metode s primjerima
- Nazubljeni niz u Javi - Vodič s primjerima
- Dubinski vodiči pomračenja za početnike
- Java SWING Vodič: Spremnici, komponente i upravljanje događajima
- Ternarni operator u Javi - Vodič sa primjerima
- 20+ MongoDB lekcija za početnike: besplatni tečaj MongoDB
- Vodič za Spock: Testiranje sa Spockom i Groovyjem