junit tutorial beginners what is junit testing
Tento výukový program JUnit pre začiatočníkov vysvetľuje, čo je Testovanie jednotiek, Pokrytie testu a Čo je to JUnit Testing Framework, spolu s príkladmi testovacích prípadov JUnit:
Táto séria JUnit bola pripravená zamerať sa na naše publikum, ktoré je úplným začiatočníkom, ako aj na tých, ktorí majú dobré znalosti jazyka Java alebo JUnit a majú veľký záujem naučiť sa JUnit.
Séria ako celok bola navrhnutá tak, aby ste mohli interpretovať rozdiel medzi JUnit 4 a Junit 5.
Začnime teraz skúmať JUnit !!
Čo sa dozviete:
previesť ascii na int c ++
Zoznam tutoriálov v tejto sérii JUnit
Výukový program č. 1: Výukový program JUnit pre začiatočníkov - Čo je to JUnit Testovanie? [Tento návod]
Výukový program č. 2: Stiahnite si, nainštalujte a nakonfigurujte JUnit v Eclipse
Výukový program č. 3: Testy JUnit: Ako napísať testovacie prípady JUnit s príkladmi
Výukový program č. 4: Čo je to testovacie zariadenie JUnit: Výukový program s príkladmi JUnit 4
Výukový program č. 5: Viacero spôsobov vykonávania testov JUnit
Výukový program č. 6: Zoznam anotácií JUnit: JUnit 4 Vs JUnit 5
Výukový program č. 7: Testovací prípad JUnit Ignore: JUnit 4 @Ignore Vs JUnit 5 @Disabled
Výukový program č. 8: Testovacia sada JUnit a testovacie prípady filtrovania: JUnit 4 Vs JUnit 5
Výukový program č. 9: Príkaz na vykonanie testu JUnit: Poradie testov JUnit 4 Vs JUnit 5
Výukový program č. 10: Ako používať anotáciu JUnit 5 @RepeatedTest s príkladmi
Výukový program č. 11: Vnorená trieda JUnit 5: @Nested Tutorial s príkladmi
Výukový program č. 12: JUnit 5 Vlastný zobrazovaný názov a podmienené vykonanie testu
Výukový program č. 13: JUnit Vs TestNG - Aké sú rozdiely
Výukový program JUnit
Pri typickom prístupe založenom na testovacom vývoji (TDD) sa vývojári zameriavajú na testovanie jednotiek každý kúsok kódu, ktorý vyvinú. Čím lepšie je produkt testovaný, tým lepšia je jeho kvalita. Všetci vieme, že testovanie by malo prebiehať paralelne s každou ďalšou fázou životného cyklu vývoja softvéru.
Počnúc požiadavkami a analýzami, návrhom a vývojom až po údržbu by s každou fázou mala byť spojená príslušná testovacia fáza. Testovanie jednotiek po vývoji je to, čo je vhodné na vytvorenie robustnej aplikácie a zavedenie optimalizovaného kódu.
Čo je to testovanie jednotiek?
Testovanie jednotiek je testovanie malej logiky alebo kódu na overenie toho, že výstup kódu je očakávaný pri vstupe konkrétnych údajov a / alebo pri splnení určitých podmienok. Jednotkové testy sa zvyčajne považujú za nezávislé od ostatných testov.
Testy jednotiek nie sú uskutočniteľné na testovanie zložitých rozhraní s inou aplikáciou alebo externými službami / externými službami. Jednotkový test sa zameriava iba na malú jednotku kódu, ktorou môže byť iba metóda alebo trieda.
Pomáha vývojárovi odhaliť problémy v súčasnej logike a akékoľvek zlyhania regresie v dôsledku aktuálnej zmeny. Okrem toho poskytuje aj náhľad na to, ako by súčasný kód mohol ovplyvniť budúcu implementáciu.
Pokrytie testu
Volá sa percento kódu, ktorý je testovaný jednotkovými testami pokrytie testom .
Cieľom je dosiahnuť lepšie a viac testovacieho pokrytia kódu, ktorý sa v budúcnosti naďalej bude pridávať k balíku regresných testov a pomáha zvyšovať automatizované vykonávanie a overovanie testov, čím sa znižuje manuálne úsilie spojené s regresným testovaním.
Spustenie testov automaticky pomáha identifikovať problémy s regresiou softvéru spôsobené zmenami v aktuálnom kóde. Vysoké pokrytie kódu vašim testom vám umožní pokračovať vo vývoji funkcií bez toho, aby ste museli vykonávať veľa manuálnych testov.
opraviť chyby v registri Windows 10 zadarmo
Mnohí prichádzajú s otázkou, či koľko pokrytia testom je nevyhnutné . Odpoveď na túto otázku je, že neexistuje nijaké tvrdé a rýchle pravidlo, pokiaľ ide o rozsah testov, ktorý je nevyhnutný; všetko je súdne. Rozsudok sa zlepší so skúsenosťami s pracovným tokom aplikácií a historickými znalosťami doteraz zistených chýb.
Efektívne testy nemusia nevyhnutne znamenať 100% pokrytie testom alebo začlenenie automatizačných testov a / alebo testov jednotiek pre každú jednotlivú vetvu alebo pokrytie cesty.
Určité triviálne overenia, ako napríklad chybové hlásenie o overení povinného poľa, ktoré je nevyplnené a ktoré už roky nemá chyby, nemusí byť súčasťou regresnej sady.
Ručné testovanie vs. automatizované testovanie
Testovanie jednotiek je možné vykonať dvoma spôsobmi:
- Ručné testovanie
- Automatizované testovanie
V obidvoch prístupoch zostáva pracovný postup bežný:
- Vytvorenie testovacieho prípadu
- Prebieha kontrola
- V prípade potreby opravy prepracujte
- Vykonajte testovací prípad
- Analyzujte výsledky testu
Z nasledujúcich dôvodov sa uprednostňuje automatické testovanie pred manuálnym testovaním:
Ručné testovanie | Automatizované testovanie |
---|---|
Keď sa testovací kufrík vykoná ručne bez zásahu nástroja, nazýva sa to manuálne testovanie. | Keď sa testovací kufrík vykoná pomocou nástroja bez väčšieho manuálneho zásahu, nazýva sa to automatizované testovanie. |
Zahrnuté je aj opakované ručné úsilie. | Môže sa zabrániť opakovanému manuálnemu úsiliu. |
Ľudské úsilie pri manuálnom testovaní môže byť chybné a časovo náročné. | Automatizačné testy sú rýchlejšie a bezchybné v porovnaní s manuálnym úsilím. |
Vyžadované zdroje na testovanie sú určené na manuálne spustenie každej testovacej skrinky, čo zvyšuje investíciu do zdrojov. | Na vykonávanie automatizovaných testov pomocou určených automatizovaných nástrojov je potrebných menej testerov, preto sú potrebné menšie investície do testovacích zdrojov, čo zvyšuje ziskovosť. |
Ručné testovanie musí byť obmedzené na malé pokrytie testom vzhľadom na obmedzenia časovej osi. Existuje teda riziko vynechania mnohých testovacích scenárov, čo vedie tiež k riziku úniku závady. | Mnoho rôznych testovacích scenárov je možné automatizovať a je ich možné vykonať viackrát, a to aj v čase a časovej kríze zdrojov, čo vedie k lepšiemu pokrytiu testom a lepšej kvalite produktu. |
Jednotkový testovací rámec
Možno budeme mať ďalšiu otázku, ako vyzerá typický testovací prípad automatizačnej jednotky a aký rámec z toho vyplýva. Vývojári používajú Jednotkový testovací rámec na vytváranie automatizovaných jednotkových testovacích prípadov.
- Na overenie, či kód logicky funguje podľa očakávaní, sa vytvorí testovacia skriňa so špecifickým kontrolným bodom alebo overovacím kritériom.
- Keď je testovací prípad vykonaný, kritériá alebo podmienky vyhovujú alebo zlyhajú.
- Protokol sa generuje podľa pracovného toku testcase.
- Rámec bude hlásiť súhrnný výsledok o úspešných a neúspešných testovacích prípadoch.
- Podľa závažnosti zlyhania nemusí testovací prípad pokračovať ďalej a môže zastaviť následné vykonanie.
- Môžu sa vyskytnúť určité nízke závažné poruchy, ktoré sa v protokole hlásia, avšak neukazuje tvrdé zastavenie, ale pokračuje bez blokovania ďalších krokov testu.
Čo je JUnit?
JUnit je open-source framework, ktorý sa používa na písanie a vykonávanie testov jednotiek v programovacom jazyku Java. Je to jeden z najznámejších rámcov na testovanie jednotiek.
Nasledujúci obrázok zobrazuje rôzne známe nástroje na testovanie automatizačných jednotiek.
Nižšie sú uvedené atribúty, s ktorými je JUnit zabalený:
- Existuje obrovský zoznam anotácií na identifikáciu, vykonávanie a podporu mnohých funkcií testovacích metód.
- Existujú tvrdenia na overenie očakávaných výsledkov.
- Poskytuje Test Runner na vykonávanie testov.
- JUnit poskytuje základnú zabudovanú šablónu, aby ste mohli v krátkom čase písať malé a jednoduché testovacie prípady.
- Testy JUnit vám pomôžu pri písaní nezávislých modulov, a tým zlepšia pokrytie testu a kvalitu aplikácie.
- Umožňuje nielen ľahké vytváranie a vykonávanie testov, ale tiež poskytuje vývojárovi čistú a jasnú explicitnú správu, ktorá eliminuje potrebu vývojára prehľadávať cestu správ a výsledkov testov.
- Kým nebude prebiehanie testu plynulé, môžete si oddýchnuť pri sledovaní na zeleno sfarbenom pruhu priebehu testu, ktorý zobrazuje priebeh prebiehajúceho testu, zatiaľ čo vás upozorní červenou farbou, akonáhle test zlyhá pri kontrolnom kontrolnom bode.
- Môžu byť vytvorené testovacie sady, aby sa dala dohromady sekvencia alebo súvisiaca sada testovacích prípadov.
Príklady testovacej verzie JUnit
Nižšie sú uvedené dva príklady veľmi základného programu Hello World, ktoré slúžia na pochopenie toho, ako vyzerá testovacia trieda JUnit alebo ako odlišne vyzerá v porovnaní s bežným súborom triedy Java.
Príklad č. 1:
Tu je testovacia vitrína JUnit HelloWorldJUnit.java, ktorá overuje, či sa reťazec „Hello world“ zhoduje s reťazcom „hello world“, ktorý pri vykonaní zlyhá, pretože sa pri zhode rozlišujú veľké a malé písmená. Preto sa tieto dva reťazce nezhodujú a test zlyhá .
Kód pre HelloWorldJUnit.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'); } }
Príklad č. 2:
Tu uvidíme, ako obvykle Java spis triedy interaguje s JUnit testovacia situácia. Vytvárame a Java spis triedy HelloWorld_Java.java s konštruktorom, ktorý nám umožňuje odovzdať hodnotu reťazca a metódu getText () na načítanie hodnoty reťazca.
JUnit Skúšobná trieda HelloWorldJUnit.java je vytvorené tak, že je vytvorený objekt triedy pre HelloWorld_Java a skutočná hodnota reťazca je odovzdaná objektu. AssertEquals () z JUnit overuje, či sa očakávané a skutočné hodnoty reťazca zhodujú.
Kód pre 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 pre 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'); } }
Výsledok vyzerá ako dole, kde vidíme zhodu dvoch reťazcov. Preto test JUnit je prešiel.
Záver
Pokiaľ ide o poskytnutie rýchleho prehľadu o tom, čo je JUnit a čo robí, JUnit je nádherne vytvorený rámec, ktorý vám umožňuje vytvárať a vykonávať jednotkové testy automatizovaným spôsobom.
Je to nástroj s otvoreným zdrojovým kódom, ktorý je tak bezproblémový. Či už je to vytváranie testovacích prípadov alebo vykonávanie testovacej skrinky alebo hlásenie po vykonaní alebo údržbe testov, JUnit je elegantný po všetkých stránkach. Áno, môže tiež elegantne zlyhať; a uvidíme, ako sa to stane, v našom nadchádzajúcom tutoriáli, ako budeme pokračovať.
O autorovi: Tento návod napísalŠobhaD. Pracuje ako vedúca projektu a má viac ako 9-ročné skúsenosti v oblasti manuálneho, automatizovaného a testovania API.
predvolená brána nie je k dispozícii Windows 10 wifi
Pokračujme v objasňovaní všetkých aspektov JUNIT-u ďalej.
Odporúčané čítanie
- Výukový program Java Reflection s príkladmi
- Java String obsahuje () Výukový program metód s príkladmi
- Jagged Array In Java - návod s príkladmi
- Hĺbkové návody pre zatmenie pre začiatočníkov
- Výukový program Java SWING: Kontajnery, komponenty a spracovanie udalostí
- Ternary Operator In Java - návod s príkladmi
- 20+ výučba MongoDB pre začiatočníkov: bezplatný kurz MongoDB
- Výukový program pre Spock: Testovanie s programom Spock a Groovy