teste pentru interogari la db

PEAR, Smarty, ADOdb, OOP, PHP 5, XML, UML, Şabloane de proiectare, PHP-GTK.

Moderatori: coditza, Emil, Moderatori

lucian0308
Average Member
Mesaje: 68
Membru din: Mie Mai 19, 2010 2:34 am
Localitate: Bucuresti
Contact:

teste pentru interogari la db

Mesajde lucian0308 » Mar Iul 06, 2010 12:33 am

am vazut ca e posibil sa faci in php
cred ca teste de genul phpunit pentru a testa
interogarile la db,

am mai auzit si de unitdb pe care nu l-am testat o fi ala

ce vreau eu sa fac e sa-mi testez scriptul dar sa nu faca inregistrari aiurea in db,

babeste ar fi sa fac interogarea, sa verific daca e ok in db si apoi sa sterg din db, toate astea din phpunit

sau ceva roolback...



Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Mesajde Birkoff » Mar Iul 06, 2010 1:10 am

ce anume vrei sa testezi? viteza interogarii sau sa vezi ca functioneaza o anumita interogare?

pentru a doua varianta eu folosesc mysql query browser luat free de la mysql de pe site si care ma ajuta sa concep interogarile complexe pe localhost.
1) CMS, ERP, CRM, etc... (doar pentru clienti))
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.

lucian0308
Average Member
Mesaje: 68
Membru din: Mie Mai 19, 2010 2:34 am
Localitate: Bucuresti
Contact:

Mesajde lucian0308 » Mar Iul 06, 2010 1:47 pm

vreau sa testez ca functioneaza o interogare
dar testarea sa se faca automat like phpunit

si vreau sa testeze automat interogari sub forma
prepared statement

vreau sa verifice daca sunt bune dar sa nu afecteze db-ul

sti ca in phpunit poti sa rulezi de cate ori vrei un test si nu iti schimba
codul php sau mai stiu eu ce asa vreau si la db ca sa pot sa rulez de cate ori vreau un test dar sa nu modifice db-ul

Avatar utilizator
Amenthes
Senior Member
Mesaje: 1370
Membru din: Lun Dec 12, 2005 8:00 am
Contact:

Mesajde Amenthes » Mie Iul 07, 2010 2:57 pm

Foloseste PHPUnit_Extensions_Database_TestCase (eu asta folosesc). Aici documentatie aici:

- http://www.ds-o.com/archives/63-PHPUnit ... -Port.html
- http://www.phpunit.de/manual/current/en/database.html
I'm under construction | http://igstan.ro

lucian0308
Average Member
Mesaje: 68
Membru din: Mie Mai 19, 2010 2:34 am
Localitate: Bucuresti
Contact:

Mesajde lucian0308 » Dum Iul 11, 2010 11:37 am

deci sa inteleg ca testarea se face pe o alta conexiune
asta nu inteleg de ce trebuie sa setez inca o data conexiunea la db
cand o am deja in scriptul pe care il testez .

si ce ma intereseaza cel mai mult daca afecteaza db, din cate am inteles iti face un fisier xml pe care il validezi... sau...

Avatar utilizator
Amenthes
Senior Member
Mesaje: 1370
Membru din: Lun Dec 12, 2005 8:00 am
Contact:

Mesajde Amenthes » Dum Iul 11, 2010 8:03 pm

lucian0308 scrie:deci sa inteleg ca testarea se face pe o alta conexiune
asta nu inteleg de ce trebuie sa setez inca o data conexiunea la db
cand o am deja in scriptul pe care il testez .


Se face pe o altă conexiune pentru că PHPUnit folosește PDO. Probabil și tu
folosești PDO, dar dacă ai fi folosit mysql sau mysqli, sau poate Zend_Db,
atunci lucrurile s-ar fi complicat. Ceea ce trebuie să folosești atât în codul
tău, cât și în cel de setare a conexiunii PHPUnit, sunt credențialele și numele
bazei de date de test.

lucian0308 scrie:si ce ma intereseaza cel mai mult daca afecteaza db, din cate am inteles iti face un fisier xml pe care il validezi... sau...

Da, afectează db-ul. Pentru fiecare metodă de test executată PHPUnit va
face următoarele:

1. în setUp() va popula tabelele din baza de date de test cu date din fișierele XML
2. în tearDown() va face TRUNCATE la toate tabelele din baza de date de test

Deci... fișierele XML sunt acolo doar ca să știe PHPUnit de unde să ia datele
care trebuiesc să fie în baza de date pentru o anumită metodă de test.

Va trebui să creezi o bază specială pentru teste. Va avea aceeași structură
ca baza de date pe care o folosești pentru testarea în browser, să zicem,
numai că nu vei introduce date în ea. Vei lăsa PHPUnit să facă asta la fiecare
execuție de metodă de test.
I'm under construction | http://igstan.ro


Înapoi la “PHP Avansat”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 2 vizitatori