Az adatbázis tesztelése dbunit segítségével
Az adatbázis tesztelése DBUnit segítségével
Ha Java-adatbázisok tesztelését végezte, akkor valószínűleg szembe kellett néznie az adatok előzetesen feltöltött tábláinak problémájával. Írja be a kódot a táblák kitöltéséhez - nem túl kényelmes. Az egyik megoldás a DBUnit keretrendszer.
A DBUnit olyan nyílt forráskódú keretrendszer, amely segít megoldani az olyan problémákat, mint az adatbázisok, táblák, adatbázisok és adatkészletek összehasonlítása egy adatbázisból. Ez a JUnit kiterjesztése is.
0. lépés: A DBUnit bemutatása
Hol és miért használják ezt a technológiát?
Mielőtt bármilyen szoftverterméket megírna, átmegy egy sor teszttel. Mivel legtöbbjük adatbázisokat használ, érdemes ellenőrizni a kódot az adatbázisban.
A legfontosabb dolog az adatbázis feltöltése, az eredmények összehasonlítása, táblázatok, az adatbázis tisztítása a tesztek futtatása után. Mindezek a műveletek teljesen megvalósíthatók a JUnit használatával. De ha az adatbázisnak sok kapcsolata van, sok változtatást kell ellenőriznie, a kód hatalmas méretre nő.
Ezzel a DBUnit lehetővé teszi az automatikus adatbázis-takarítást, egy adatkészletet egy xml fájlba töltve, és összeveti az adatokat az egész készletekkel. Ez biztosítja a tesztelés legjobb lefedettségét, és pontosabbá teszi a kódot.
1. lépés: függőségek hozzáadása
Elkezdjük azzal a tényt, hogy a használat megkezdéséhez csatlakoztatnunk kell ezt a könyvtárat. Ezt a függést Maven-ben használjuk.
A DBUnithez tartozik egy logger is a működéséhez. Hozzáadjuk a projekthez.
Ezt követően a DBUnit kapcsolat befejeződött. Most meg kell adnunk a szükséges könyvtárakat a projektünkhöz. Könyvtárakra van szükség adatbázisunkhoz - Mysql. JPA. Hibernate. valamint a JUnit. Az alábbiakban olvasható a Maven konfigurációs fájl végleges változata az összes kapcsolódó könyvtárral.
2. lépés: Hozzon létre elemeket a teszteléshez
Létre kell hozni egy entitást, amelyet tesztelni fogunk a DBUnit segítségével. Pérsonot választottam. Ennek a lépésnek a fogalmához szüksége lehet a JPA-val kapcsolatos ismeretekre. Erről az adatbázisban dolgozó JPA-lecke láthatja.
3. lépés: Szolgáltatás létrehozása az entitáskezeléshez
Kezeléséhez hozzon létre egy szolgáltatást. Törölni, hozzáadni, szerkeszteni és fogadni az osztályunk objektumát az adatbázisból.
A projektbeállítás végén a fő struktúrában a következő struktúra legyen:
4. lépés Bevezetés a tesztkörnyezetbe
Lássuk, hogyan néz ki a tesztünk szerkezete.
Személyes teszt - a "személyiség"
A DBUnitConfig a mi konfigurációs osztályunk, amely lehetővé teszi számunkra, hogy gyorsabban hozzunk létre DBUnit teszteket. Tartalmaz adatbázis beállításokat és tesztelési viselkedést.
db.config.data - tartalmazza a beállításokat az adatbázisban
A person-data.xml-inside egy adatbázist tartalmaz az adatbázis inicializálására.
person-data - *. xml - olyan adatkészletet tartalmaz, amelyet az adatbázisban végrehajtott műveletek elvégzése után meg kell kapni.
5. lépés: DBUnit konfiguráció
Állítsuk be DBUnitünket. Létre kell hoznunk egy olyan osztályt, amely örökölni fog, és a leszármazottjainkban személyre szabott funkciókat használhatunk, és nem kell minden alkalommal konfigurálni.
IDatabaseTester teszter - egy olyan objektum, amelynek funkcionalitásával összehasonlítjuk a tablettákat és a bd-t.
Tulajdonságok - itt tároljuk adatainkat az adatbázisban. Csatlakozási beállítások
Az IDataSet beforeData olyan objektum, amely adatokat tartalmaz az OBD inicializálására a teszt végrehajtása előtt.
setUp () - Ebben a módszerben inicializáljuk a teszt futtatása előtt szükséges adatokat. Itt meghatározzuk a teszterünket
nyilvános DBUnitConfig (String name) - a konstruktor inicializálja az adatbázisunkat a rendszerben, hogy további hozzáférést nyerjünk és képesek vagyunk folytatni a kölcsönhatást a jövőben.
getDataSet () - visszaadja adatkészletünket
DatabaseOperation getTearDownOperation () - törli az adatbázist a tesztek futtatása után
6. lépés: Tesztelési osztály létrehozása az adatbázis kitöltéséhez
Most írja be a tesztelési osztályunkat, amely kitölti és tisztítja az adataikat, ellenőrizze a következetességet.
setUp () - felülbíráljuk a módszert arra, hogy adatkészletünket egy adott teszthez továbbítsuk.
. FlatXmlDataSetBuilder () építmények (...) - létrehoz egy adathalmaz az átadott neki a fájlt patak xml leírását tartalmazó adat, hogy rögzíteni kell a megfelelő lemezt. A felsõ szintû adatkészlet címkéjébõl áll, amelybe tartoznak az attribútumokkal ellátott címkék. A névtáblát - név jelek, sajátosságoknak - plate attribútumok az adatbázisban.
7. lépés: Hasonlítsa össze az értékeket
Ebben a lépésben teszteljük az eredményeket a DBUnit képességekkel. Ez megadja nekünk az IDatabaseTester felületet. Ez az interfész lehetővé teszi, hogy az örökség használata nélkül tesztelje az adatbázist, mint mi. A DBUnit könyvtárban van egy Assertion osztály a táblák vagy teljes adatkészletek összehasonlítására egymással. Összehasonlítjuk az egész adatsort.
Tekintsünk egy példát a DB helyes kitöltésének ellenőrzésére a testGetAll ()
Először is létrehozunk egy sor várt adatot:
Hozzon létre egy adatkészletet az adatbázisban lévő meglévő adatokból:
Összehasonlítjuk az adatkészleteket:
Ha összehasonlítjuk a címkéket és adathalmazok, ahol van auto növekmény mező típusa lehet a hibákat a közvetlen összehasonlítására, mert ha töröl egy mezőt, és egy új az adatbázisba, az index emelkedni fog, ami nem felel meg az index egy sor adatok XML fájl . Ezért egy megoldás figyelmen kívül hagyja a mezőt, ahogy azt a fentiekből is kitűztük.
A DBUnit használatának két típusát vizsgáltuk.
Az első, a DBTestCase-től örökölt. Így van egy konfigurációval rendelkező osztályunk a további alkalmazásokhoz a gyors konfiguráció és töltés érdekében.
Másodszor, az IDatabaseTester használata. Képes lesz arra, hogy töltsük ki az adatbázis adatait az xml fájlból az alábbi kóddal:
A www.DevColibri.com webhely újranyomtatására vonatkozó szabályok
Tisztelt látogató a projekt!
Önnek szabadon felhasználhatja az Ön céljait bármely dokumentumot, az alábbi feltételek mellett:
• Az újranyomtatott dokumentum végén egy linket kell elhelyezni a www.devcolibri.com webhelyre.
Tisztelettel!
[email protected]