Testarea bazei de date folosind dbunit

Testarea bazei de date cu DBUnit

Dacă ați efectuat teste de scriere pentru o bază de date în Java, atunci probabil că ați fost confruntat cu problema pre-populării tabelelor cu date. Scrieți codul pentru a umple tabelele - nu este foarte convenabil. O soluție este cadrul DBUnit.







DBUnit - cadru open source care ajută la rezolvarea acestor probleme în completarea bazelor de date, tabele, tabele de comparație și seturi de date într-o bază de date. Este, de asemenea, o extensie pentru JUnit.

Pasul 0. Introducere în DBUnit

Unde și de ce este folosită această tehnologie?

Înainte de a scrie orice produs software, acesta trece o serie de teste. Deoarece majoritatea utilizează baze de date, este logic să verificați codul cu baza de date.

Principalul lucru este umplerea bazei de date, compararea rezultatelor, tabele, curățarea bazei de date după executarea testelor. Toate aceste operațiuni sunt complet fezabile folosind JUnit. Dar, atunci când baza de date are multe conexiuni, trebuie să verificați o mulțime de modificări, codul crescând la o dimensiune uriașă.

La rândul său, DBUnit permite curățarea automată a bazei de date, face ca un set de date să fie completat într-un fișier xml și să compare datele cu seturi întregi. Aceasta va oferi cea mai bună acoperire a testelor și va face codul mai exact.

Pasul 1. Adăugarea de dependențe

Vom începe cu faptul că pentru a începe să folosim, trebuie să conectăm această bibliotecă. Noi folosim pentru această dependență în Maven.

DBUnit necesită de asemenea un logger pentru funcționarea sa. Adăugăm-o la proiectul nostru.

După aceasta, conexiunea DBUnit este finalizată. Acum rămâne să adăugăm celelalte biblioteci necesare proiectului nostru. Avem nevoie de biblioteci pentru baza noastră de date - Mysql. JPA. Hibernare. precum și JUnit. Mai jos este versiunea finală a fișierului de configurare Maven cu toate bibliotecile conectate.

Pasul 2: Creați entități pentru testare

Să creăm o entitate pe care o vom testa cu DBUnit. L-am ales pe Pérson. Pentru conceptul acestei etape, este posibil să aveți nevoie de cunoștințe cu APP. Detalii despre acest lucru pot fi văzute în lecția JPA care lucrează cu baza de date.

Pasul 3. Crearea unui serviciu pentru gestionarea entităților

Pentru a gestiona, creați un serviciu. Acesta va șterge, adăuga, edita și primi obiectele din clasa noastră din baza de date.

La finalul instalării proiectului, ar trebui să avem următoarea structură în principal:

Testarea bazei de date folosind dbunit

Pasul 4. Introducere în cadrul de testare

Să vedem cum arată structura testului nostru.

Testarea bazei de date folosind dbunit






Examene personale - teste pentru "persona"

DBUnitConfig este clasa noastră de configurare, care ne va permite să creăm mai rapid teste DBUnit. Acesta conține setările bazei de date și comportamentul de testare.

db.config.data - conține în interiorul setărilor baza de date

person-data.xml-interior conține un set de date pentru a inițializa baza de date.

date personale - * .xml - conține un set de date care trebuie recepționate după efectuarea oricărei operații cu baza de date.

Pasul 5. Configurarea DBUnit

Să ne pregătim DBUnit. Să creăm o clasă, moștenitoare de la care vom putea să folosim funcționalitatea personalizată în descendenți și nu va trebui să o configuram de fiecare dată.

Testarea IDatabaseTester - un obiect al cărui funcționalitate vom compara comprimatele și bd.

Proprietăți propuse - aici vom stoca datele noastre pentru baza de date. Setările conexiunii

IDataSet beforeData este un obiect care conține datele noastre pentru a inițializa OBD-ul înainte de a efectua testul.

setUp () - În această metodă, inițializăm datele necesare înainte de efectuarea testului. Aici definim testerul nostru

public DBUnitConfig (numele șirului) - constructorul inițializează baza noastră de date în sistem pentru a obține în continuare acces și capacitatea de a continua să interacționeze în viitor.

getDataSet () - returnează setul nostru de date

DatabaseOperation getTearDownOperation () - șterge baza de date după executarea testelor

Pasul 6. Crearea unei clase de testare pentru completarea bazei de date

Acum scrieți clasa noastră de testare, care vă va completa și curăța datele, verificându-le pentru coerență.

setUp () - suprascriem metoda pentru a transfera setul de date pentru aceasta pentru un test specific.

. FlatXmlDataSetBuilder () build (...) - creează un set cu el transferat în XML fluxul de fișier care conține o descriere a datelor care trebuie să fie înregistrate în plăcuța corespunzătoare a datelor. Se compune dintr-o etichetă a setului de date de nivel superior în interiorul căruia există etichete cu atribute. Eticheta nume - semne numele, atributele din - placa de atribute din baza de date.

Pasul 7. Comparați valorile

În acest pas, vom testa rezultatele utilizând funcțiile DBUnit. Acest lucru ne va da interfața IDatabaseTester. Această interfață vă permite să testați baza de date fără a utiliza moștenirea, așa cum am făcut-o. Biblioteca DBUnit are o clasă de afirmații pentru compararea tabelelor sau a seturilor de date între ele. Vom compara întregul set de date.

Să luăm în considerare un exemplu de verificare a umplerii corecte a unei DB într-o metodă testGetAll ()

Mai întâi de toate, vom crea un set de date așteptate:

Creați un set de date din datele existente în baza de date:

Comparăm seturile de date:

Atunci când se compară etichete și seturi de date în care există tip de câmp auto creștere poate fi erori în directe, prin comparație, deoarece, atunci când ștergeți un câmp și adăugați un nou la baza de date, indicele va crește, ceea ce nu va corespunde indicelui cu un set de date în fișierul XML . Prin urmare, o soluție ignoră câmpul, așa cum am făcut mai sus.

Am examinat 2 tipuri de utilizare DBUnit pentru testare.

Prima, moștenind de la DBTestCase. Deci, avem o clasă cu configurații pentru utilizare ulterioară în testele rămase pentru configurare rapidă și umplere.

În al doilea rând, utilizarea IDatabaseTester. Ne dă posibilitatea de a completa și datele din baza de date din fișierul xml folosind codul de mai jos:

Reguli pentru retipărirea site-ului www.DevColibri.com

Stimate vizitator al proiectului!

Aveți voie să utilizați în mod liber în scopurile dvs. orice document, sub rezerva următoarelor condiții:

• La sfârșitul documentului reprimat, trebuie să inserați un link către site-ul www.devcolibri.com.

Cu sinceritate, Administrator!
[email protected]







Articole similare

Trimiteți-le prietenilor: