Ce este PHPUnit și cum să-l folosească

Ce este PHPUnit și cum să-l folosească

In acest articol voi examina instalarea PHPUnit și explică modul în care să-l folosească pe scurt.

Care sunt teste unitare?

Ideea de unitate de testare este de a verifica corectitudinea mici zone ale programelor mari - conduc pe unele „viclenie“ de seturi de date de test.

Am nevoie de a folosi teste unitare pe fiecare proiect? Aș spune că nu este întotdeauna cazul. Cu toate acestea, ele sunt esențiale pentru orice proiect pe termen lung.

PHPUnit de instalare pe Windows

În primul rând, asigurați-vă că aveți versiunea corectă a PHP (versiunea acceptată în prezent de PHP nu este mai mic de 5,6), precum și set de compozitor.

Cel mai simplu mod de a instala PHPUnit - PHP este de a descărca arhiva (PHAR), care conține toate cele necesare (și unele extra) în funcție PHPUnit incluse într-un singur fișier.

Pentru a instala, poate fi necesar să fie incluse în extensia php.ini OpenSSL. În general, PHAR de instalare ușor similară cu procedura pentru Composer instalarea manuală pe Windows:

dp0phpunit.phar „% *> phpunit.cmd C: \ bin> exit [/ code]

Închide și re-deschide un prompt de comandă și să navigați la orice alt dosar, altele decât c: \ bin și să încerce să ruleze PHPUnit --version. Ar trebui să vedeți o versiune de PHPUnit și drepturile de autor:

C: \ Users \ nume de utilizator> PHPUnit --version PHPUnit x.y.z de Sebastian Bergmann și contribuitori

Pregătirea proiectelor pentru testare

În primul rând, avem nevoie pentru a inițializa autoincarcatorul de clasă, care va lega spațiul de nume (namespace) la directorul proiectului.

De exemplu, trebuie să atunci când scrieți utilizarea SQL \ Mysql noi libs fișiere conectate \ sql \ mysql.php. în composer.json trebuie să scrie fișierul:

Compozitor - este un mare fel de lucru pentru a gestiona dependențe, dar vom folosi doar pentru a crea până la autoincarcatorul. În continuare, de la linia de comandă în directorul de proiect efectua compozitor instalat.

D: \ WORK \ proiect-exemplu> compozitor instalează arhive Se incarca compozitor cu pachete de informații Actualizarea dependențe (inclusiv necesită-dev) Nimic nu se poate instala sau modificare Generarea de fișiere Autoload

După manipularea datelor trebuie să vânzător de director va apărea. în care (printre o grămadă de fișiere auxiliare) vor fi prețuită autoload.php. Ai putea scrie autoincarcatorul în sine, în doar câteva linii de cod, dar suntem programatori leneș. În plus, compozitorul încă veni la îndemână.

Avem două opțiuni PHPUnit start - cu parametrii de pe linia de comandă sau fișierul de configurare. Vom merge doua cale - într-un dosar de proiect a crea fișier phpunit.xml. În acest fișier, vom descrie structura testelor pentru proiectul nostru. Iată un exemplu:

teste / UserTest teste 1.php / UserTest teste 2.PHP / MessagesTest1.php teste / MessagesTest1.php

După cum puteți vedea, fișierul este format din secțiuni testsuite, fiecare secțiune descrie un set de teste. În plus, în fiecare set de testare, vom specifica ce fișiere de test pentru a se conecta. Puteți conecta atât fișiere individuale și directoare întregi.

Să creeze testele ei înșiși.

Scrierea unui test simplu

Concepte cheie și pași pentru scrierea de teste în PHPUnit:

  • Testele de clasă Clasa ar trebui să fie numit ClassTest.
  • ClassTest de obicei moștenit de la PHPUnit \ Framework \ testcase.
  • Toate testele - sunt metode publice ale ClassTest noastre, numele lor ar trebui să înceapă să testați.
  • În cadrul acestor metode de a testa ceva ar trebui să cauzeze assert-metode. Cum ar fi assertEquals (). de exemplu. Dar, de fapt, un număr mare de ele.

Exemplu documentației de test (test matrici normale):

[Cod = php] utiliza PHPUnit \ Framework \ testcase; class StackTest extinde testcaseassertEquals (0, count ($ stiva)); array_push (stiva $, 'foo'); $ This-> assertEquals ( 'foo', $ stack [count ($ stack) -1]); $ This-> assertEquals (1, count ($ stack)); $ This-> assertEquals ( 'foo', array_pop ($ stack)); $ This-> assertEquals (0, count ($ stack)); >> [/ code]

După cum puteți vedea, nimic complicat.

postfață

Ei bine, acum este necesar să se încerce să scrie programul de testare sau încercați unitate de testare pe proiectele existente - teste sigure care acoperă bibliotecă, să vă îmbunătățiți numai calitatea codului.

În plus, de PHPUnit pot fi utilizate în afara cutiei - de exemplu, l-am folosi pentru a verifica activitatea de laborator într-un curs mic pe algoritmi si structuri de date.

articole similare