Vizsgálati program JUnit
JUnit - könyvtári egység tesztelése Java programokat. Alkotó Kent Beck és Erich Gamma, a JUnit családjába tartozik a xUnit keretek különböző programozási nyelvek származó SUnit Kent Beck Smalltalk. JUnit generált ökoszisztéma kiterjesztés - JMock, EasyMock, DbUnit, httpunit stb ...
JUnit - egy Java keretrendszer vizsgálat, vagyis vizsgálata egyes részei a kód, például, módszerek vagy osztályok ... Során szerzett tapasztalatok dolgozik a JUnit, fontos a szoftverfejlesztést vizsgálati fogalmak.
Vizsgálati példa JUnit
Kell használni JUnit
JUnit bármikor gyorsan ellenőrizheti, hogy a kód működik. Ha a program nem elég egyszerű, és tartalmaz egy sor osztályok és metódusok, hosszabb időt vehet igénybe, hogy ellenőrizze azt. Természetesen minél jobb a folyamat automatizálható. Segítségével JUnit lehetővé teszi, hogy ellenőrizze a programkód Jelentős erőfeszítések nélkül, és nem kell sok idő.
Unit tesztek osztályok és függvények a fajta dokumentáció mi várható eredményeként azok végrehajtását. És nem csak a dokumentációban, valamint a dokumentációt, amely automatikusan ellenőrzi kódot betartásának bemutatott funkciókat. Ez kényelmes, és gyakran alakul tesztek mind együtt, és a végrehajtás osztályok. Test Driven Development - egy nagyon népszerű technológia létrehozásához komoly szoftver.
Típusú vizsgálat és JUnit tesztelés helyett besorolás
Szoftver tesztelés lehet osztani két típusa van:
- fekete doboz tesztelés;
- fehér-doboz tesztelés.
A vizsgálat során a program, mint egy fekete doboz a belső szerkezete a kérelem nem fogadható el. Csak az számít, hogy a funkcionalitás alkalmazását kell biztosítania. Ha teszteli a programot, mint a fehér doboz figyelembe vesszük a belső szerkezete, azaz a osztályok és módszerek. Ezen túlmenően, a vizsgálati lehet osztani négy szinten:
- egység tesztek - tesztelheti az egyes szakaszok a kódot;
- integrációs tesztelés - tesztelés kommunikációs és együttműködési komponenseket;
- rendszer tesztelése - tesztelés az egész rendszer egészére;
- vevő teszt - végleges tesztelése a kész rendszer megfelel a követelményeknek.
Unit tesztelés, definíció szerint, a fehér doboz tesztelés.
Használja egység tesztelése két változatban - JUnit 3. és 4. JUnit Tekintsük a két változat, mint a régi projektek is használhatják a harmadik változat, amely támogatja a Java 1.4.
Létrehozásához tesztet kell örökölni TestCase vizsgálati osztály felülírja a felépítése és bontása módszerek, ha szükséges, jól és ami a legfontosabb -, hogy dolgozzon ki a vizsgálati módszerek, amelyek nevét kell kezdődnie „teszt” abbriviatury. Amikor fut a teszt, akkor először hozzon létre egy példányt a vizsgálati osztály (az egyes vizsgálati külön osztályban például az osztály), majd fut beállítási módszert, a tesztelést is, nos, végül futtatja tearDown módszer. Ha bármelyik módszer kivételt dob, akkor a vizsgálat nem sikerült.
Megjegyzés. vizsgálati módszerek legyen public void lehet statikus.
A vizsgálatok a teljesítő néhány kódot és ellenőrzések. Ellenőrzések általában úgy hajtjuk végre Assert osztályú bár néha használja a kulcsszó érvényesíteni.
Példaként tekintsük a segédprogram húrok beleértve vizsgálati módszereket, és egy üres karakterlánc ábrázolása bájtsorozatok egy 16-ed rendű vonalak:
További funkciók, tesztbázist
JUnit 3 van néhány további funkciókat. Például csoportosíthatja teszteket. Ehhez használja a testsuite osztály:
Kipróbálható végrehajtását többször megismételjük. Erre a célra RepeatedTest:
Örökli egy teszt osztályt ExceptionTestCase, akkor ellenőrizze a kódot, hogy kizárja a kiadás:
Ahogy a példák mind nagyon egyszerű, és semmi több - legalábbis a JUnit teszt kód.
A JUnit 4 támogatja az új funkciók a Java 5.0; tesztek is bejelentettek a kommentárokat. Vannak azonban visszafelé kompatibilis a korábbi verziót a keret. Szinte az összes példa a fent tárgyalt fog működni JUnit 4 kivéve RepeatedTest, ami hiányzik az új verzió.
Milyen változások jelentek meg a JUnit 4? Tekintsük ugyanazt a példát, de az új funkciók:
Mi változott a JUnit 4?
- Egyszerűsítése érdekében a munka lehet örökölt Assert osztályban. bár ez nem feltétlenül szükséges.
- Abstract @Before jelöl módszerek nevezhető végrehajtása előtt teszteket. Módszereket kell public void. Ott általában helyezni előre a vizsgálat ebben az esetben generációs vizsgálati adatok (setUpToHexStringData módszer).
- Használhatja kommentár @BeforeClass. amely a módszerek, amelyek az úgynevezett egy példányának létrehozásához a vizsgálati osztály; módszereket kell public static void. Ez az összefoglaló (módszer), akkor van értelme, hogy a tesztelés céljára abban az esetben, ha az osztályban több teszt segítségével különböző előre beállított, vagy ha valamilyen vizsgálatok során ugyanazokat az adatokat, hogy ne időt megteremti azokat az egyes tesztekhez.
- Abstract @After kifejezés olyan módszerekre vonatkozik, amelyek fogják hívni a vizsgálat után. Módszereket kell public void. Ez az a hely, erőforrás felszabadítás működését a vizsgálat után; a mi esetünkben - tiszta vizsgálati adatok (tearDownToHexStringData módszer).
- Abstract @AfterClass összefüggésbe jelenti a @BeforeClass. de elvégzi módszerek után az osztály teszt. Mivel ez a helyzet @BeforeClass. módszereket kell public static void.
- ÖSSZEFOGLALÁS @Test jelöli vizsgálati módszerek. Mint korábban, ezek a módszerek legyen public void. Ez az a hely magad ellenőrizni. Ezen felül, a két paraméter, várhatóan felhasználhatók a kommentárok - állítja a várható kivétel, és ideje - beállítja az időt, ami után a vizsgálat akkor tekinthető nem sikerült.
Példák felhasználási paraméterek jelölései, JUnit teszt:
Figyelmen kívül hagyva a vizsgálat, JUnit figyelmen kívül hagyása
Ha az egyik tesztek bármilyen jó ok a letiltani kívánt, például folyamatosan teszt sikertelen. teszt korrekció lehet késik akár fényes jövő kommentár @Ignore. Ha ezt kommentár egy osztály, az összes vizsgálat ebben az osztályban lesz tiltva.
Tastirovaniya szabályok JUnit szabály
JUnit lehetővé tesz bizonyos fejlesztő szabályok előtt és a vizsgálat után, amely kiterjeszti a funkcionalitást. Például, van egy beépített szabályok a időtúllépés a teszt (Timeout), állítsa be a várt kivétel (ExpectedException), hogy működjön együtt az ideiglenes fájlokat (TemporaryFolder) és mások.
tesztcsonagok, JUnit Suite, SuiteClasses
Lefolytatja a vizsgálatot keresztül lehet beállítani @RunWith kommentárokat. Teszt osztályok, amelyek a vizsgálati módszerek szerint lehet csoportosítani tesztcsonagok (Suite). Például létre két osztály vizsgálati tárgyakat. TestFilter, TestConnect. Ez a két vizsgálat osztályok kombinálhatók egyetlen vizsgálati osztály TestWidgets.java:
Konfigurálása távon alkalmazott vizsgálatok elméleti @SuiteClasses, amely magában foglalja a vizsgálat osztályok.
Absztrakt kategória
Kivonat, JUnit Paraméterezett
Abstract Paraméterezett lehetővé teszi a használatát paraméteres teszteket. Ebből a célból a vizsgálat nyilvánítják osztály statikus módszer, hogy ad egy listát az adatok, amelyek használhatók a konstruktorargumentum.
Parametrizirovanie módszer. Theories.class, adatpontok, DATAPOINT, Theory
Absztrakt elméletek paraméterezett vizsgálati módszer, nem egy kivitelező. Ezek jellegzetessége, hogy @DataPoints és @DataPoint. vizsgálati módszer - segítségével @Theory. Test, amely ezt a funkciót is valahogy így néz ki:
Az, hogy a teszt végrehajtása
Ha azt szeretnénk, hogy végezze el a tesztet egy bizonyos sorrendben, akkor a kommentár @FixMethodOrder (MethodSorters.NAME_ASCENDING) meghatározott JUnit 4.11. Például:
Ha nem, akkor az alábbi két megközelítés.