Unitatea de testare în PHP înseamnă PHPUnit

Sunteți aici: Pagina principală - PHP - Bazele PHP - Testarea unitara in mijloace PHP PHPUnit

Unitatea de testare în PHP înseamnă PHPUnit

Buna ziua! Astăzi aș vrea să vorbesc cu tine despre ce unitate de testare în PHP.

Când scrieți chiar și cele mai simple programe au, ocazional, să se oprească și refactor pentru a înțelege dacă programul este scris corect. Un cod refactoring în PHP am menționat deja într-una dintre publicațiile de pe site-ul, care pot fi găsite aici.

Cu toate acestea, să ne imaginăm următoarea situație: Scrii site-uri pentru clienții pe cont propriu CMS. Clienții sunt fericit, te simți bine, dar o zi să înțeleagă că sistemul ați dezvoltat, nu mai îndeplinește cerințele impuse, ea trebuie să fie schimbat. Și începe să rescrie o parte a sistemului după altul.

Deci, la fel ca familiarizat cu teoria, acum du-te direct la codul. Aici trebuie sa facem un punct important, toate operațiunile sunt efectuate pe un PC care rulează Windows 7 7 C instalat versiunea PHP. În continuare vor fi puncte.

1) Descărcați fișierul link PHPUnit-6.3.0.phar. care este un PHP fișier executabil.

2) Fișierul descărcat este mutat la papkuC: \ bin. În același phpunit.bat a crea un dosar. scrie următorul conținut: @php C: \ bin \ PHPUnit-6.3.0.phar% *

Rețineți că calea C: \ bin trebuie să fie definit în PATH variabila de sistem. în caz contrar, atunci când încercați să executați o comandă în consolă PHPUnit veți obține o eroare!

3) Deschide un shell și rulați PHPUnit comanda. și dacă totul este corect, atunci în consola ar trebui să afișeze informații.

Desigur, există și alte metode de a instala PHPUnit. dar am găsit această metodă este cea mai acceptabilă. Pentru mai multe informații puteți întotdeauna face referire la proiectul de site-ul oficial PHPUnit. Deci, instalarea este completă, acum du-te direct la codul.

// fișier StackTest.php, situat în directorul C: / Proiecte / php / teste
// conectați clasa principală a testcase spațiu PHPUnit nume \ cadru
utilizați PHPUnit \ Framework \ testcase;

// defini clasa de test ca o subclasă a testcase
class StackTest extinde testcase
// Nu există funcții sunt publice, începe cu testul de cuvânt
funcția publică testPushAndPop ()
$ Stiva = []; // Crearea unei matrice
// și verificat declarația afirmă că numărul de elemente din matrice este egal cu zero
$ This-> assertEquals (0, count ($ stiva));

array_push ($ stivă, # 'Foo #'); // adaugă un element în matrice
$ this-> assertEquals (# '# foo', $ stack [count ($ stack) -1]); // verifica egalitatea
$ This-> assertEquals (1, count ($ stack));

$ this-> assertEquals (# '# foo', array_pop ($ stack));
$ This-> assertEquals (0, count ($ stiva));
>
>
?>

În acest caz, vom folosi doar un singur assertEquals declarație. deși clasa testcase PHPUnit biblioteca de câteva zeci, pentru toate ocaziile, ca să spunem așa.

Așa că am scris un test, și apoi ce? Și apoi trebuie să fi rulat. Pentru acest deschis consola, transforma într-un dosar cu testul nostru (PHP Unit Testelor sunt situate de obicei în dosarul teste separate) și a alerga PHPUnit comanda. trecându-l argumentul directorul curent (indicat printr-un singur punct).

cd C: / Proiecte / php / teste PHPUnit.

Această comandă va merge automat prin toate testele PHP. care sunt în acest director. La finalizare, se afișează informații cu privire la cât de multe teste alerga, și, eventual eșec.