Звено тестване на PHP означава PHPUnit

Вие сте тук: Начало - PHP - PHP Основи - Звено тестване на PHP PHPUnit средства

Звено тестване на PHP означава PHPUnit

Добър ден! Днес бих искал да говоря с теб за това, тестване единица в PHP.

Когато пишете дори най-простите програми от време на време трябва да се спре и да Преструктуриране на, за да разбере дали програмата е написано правилно. А преработка на код в PHP Аз вече споменах в една от публикациите на сайта, които могат да бъдат намерени тук.

Все пак, нека си представим следната ситуация: Вие пишете сайтове за клиенти, по своя собствена CMS. Клиентите са доволни, да се чувстват добре, но един ден се разбере, че системата, създадена от вас, вече не отговаря на изискванията, поставени върху нея, тя трябва да бъде променена. И започнете да пренапише част от системата след друг.

Така че, като запознат с теорията, сега отидете директно на кода. Тук трябва да се направи важна точка, всички операции се извършват на компютър с Windows 7 7 в инсталирани PHP версия. Следваща ще бъде точките.

1) Изтегляне на връзката PHPUnit-6.3.0.phar файл. който е изпълним файл PHP.

2) изтегления файл е преместен papkuC: \ боклук. По същия phpunit.bat създадете папка файл. пише следното съдържание: @php C: \ бин \ PHPUnit-6.3.0.phar% *

Имайте предвид, че пътя C: \ кофата за боклук трябва да бъдат определени в променливата PATH на системата. в противен случай, когато се опитате да се изпълни команда в конзолата PHPUnit получите съобщение за грешка!

3) Отворете черупка и стартирайте командния PHPUnit. и ако всичко е наред, а след това в конзолата трябва да показва информация.

Разбира се, има и други начини да се инсталира PHPUnit. но Аз открих този метод е най-приемлив. За повече информация можете да се обърнете към официалния сайт PHPUnit проекта. Така че, като инсталацията приключи, сега отидете директно на кода.

// подаде StackTest.php, намиращ се в директорията C: / Проекти / PHP / тестове
// свърже главния клас TestCase пространство PHPUnit име \ Framework
използвате PHPUnit \ Framework \ TestCase;

// определят класа на тест като подклас на TestCase
клас StackTest простира TestCase
// не функции са публични, да започне с тест дума
обществена функция testPushAndPop ()
$ Стека = []; // Създаване на масив
// и провери твърдението, се твърди, че броят на елементите в масива е равна на нула
$ Това-> assertEquals (0, брой ($ стека));

array_push ($ комин, # 'Фу #'); // добави един елемент в масив
$ това-> assertEquals (# "Фу # ', $ стека [брой ($ стека) -1]); // проверка за равенство
$ Това-> assertEquals (1, брой ($ стека));

$ това-> assertEquals (# "Foo # ', array_pop ($ стека));
$ Това-> assertEquals (0, брой ($ стека));
>
>
?>

В този случай, ние използваме само един отчет assertEquals. макар клас TestCase PHPUnit библиотеката на няколко дузини, за всички поводи, така да се каже.

Така че ние пише тест, а след това какво? И тогава тя трябва да се изпълнява. За тази отворена конзолата, да се превърне в една папка с нашия тест (PHP единица тестове обикновено са разположени в отделна папка тестове) и се изпълняват команди PHPUnit. минаваща това аргументът на текущата директория (обозначен с една точка).

CD C: / Проекти / PHP / тестове PHPUnit.

Тази команда автоматично ще преминете през всички PHP тестове. които са в тази директория. При завършване, се показва информация за това колко тестове тече, а вероятно и провал.