Dacă vă aflați încă o dată într-o situație, atunci când scrie un script care arata ca acest lucru:
Și dacă ai început deja să uite în cazul în care un script pentru a testa (să nu mai vorbim de colegi), aceasta înseamnă că este timpul pentru tine pentru a face structura testelor tale. Acest lucru vă va ajuta în PHPUnit - cadru pentru scrierea de teste unitare.
În Compozitor nostru secol și dependențe gestionate instalarea orice este simplificat la limita. Cu condiția, desigur, că biblioteca este necesară în Packagist.
Verificați corectitudinea instalării PHPUnit, versiunea care solicită:
Instrucțiunile sunt pentru versiunea 6.3.
Este clar că nu doriți de fiecare dată pentru a specifica manual diverse argumente --bootstrap tip PHPUnit la pornire. și, prin urmare, cel mai bine este să imediat înainte de începerea lucrărilor, pentru a specifica toți parametrii necesari pentru rulării testului de sistem. Am înființat - și să uitați!
Setările PHPUnit sunt stocate în fișier XML în rădăcina proiectului. O mai bună utilizare phpunit.xml.dist imediat. în schimb phpunit.xml. la colegii au avut posibilitatea de a crea propriile setări pentru testul sau colecția sa de teste.
Ce facem
EXEMPLUL fișier minim phpunit.xml.dist. ceea ce implică faptul că autoincarcatorul și tot ce este necesar pentru activitatea clasei noastre este inițializată în furnizor / autoload.php. și că toate testele sunt în testele din directorul rădăcină de proiect și subdirectoarele acestui director.
Dacă aveți nevoie de ceva mai mult de initializare, cu excepția Autoloader, în loc de furnizor / autoload.php. care generează Compozitor, puteți și trebuie utilizat app / common.php sau similar.
Nu aveți nici o obligație de a păstra testele într-un singur loc, deși este standardul de facto pentru bibliotecile PHP. Este perfect posibil să se includă, în general, toate fișierele sursă ale proiectului în testele de câmp de căutare, de exemplu, adăugând o mai
O abordare pentru a include toate testele consecutive în zona de căutare are anumite deficiențe în ceea ce privește evaluarea codului de acoperire de testare. dar să nu insista pe acest lung - este important să se facă cel puțin ceva.
Ce avem
Estimați lista de clase care vor fi utilizate, puteți:
Fișierul de configurare vă (și colegii) permite de a uita în cazul în care testele, modul de conectare setări și detalii similare, permițându-ne astfel să se concentreze asupra a ceea ce aveți nevoie de fapt, testele:
cerere
Cel mai simplu tip de test este.
- Metoda de clasă începând cu testul,
- în care se încheie clasă în test,
- și moștenesc de la \ PHPUnit \ Framework \ testcase.
Am înțeles, este dificil și confuz. Dar uita-te la un exemplu din această clasă:
După cum puteți vedea, nu este nimic deosebit de complicat.
Ar fi de ajuns pentru a defini această clasă în testele / ExampleTest.php și vom fi capabili de a experimenta PHPUnit:
Acest lucru ne va spune despre finalizarea cu succes a tuturor testelor:
Un exemplu practic
Pentru a nu merge departe, vom rescrie scenariul de la începutul acestui articol.
Asta ar putea arăta la definiția clasei testate ExampleClass:
Ce urmează?
Pentru inspirație în continuare, puteți aplica atât pentru documentația oficială. și exemplele de teste care timp de mulți ani PHPUnit a scris o întreagă comunitate de programatori.
Dacă nu doriți să-și întrerupă mâna toate exemplele de mai sus, puteți găsi aici cele de pe GitHub.