PHPUnit и покрытие кода (Source code coverage)

Это третья заметка о continuous integration (CI). В ней я затрону такое понятие как покрытие кода. Это одна из мер качества ПО, которая отображает какой процент исходного кода проверяется при запуске тестов.

Continue reading

Непрерывная интеграция ZF проекта при помощи Hudson & Phing

Дальнейшим этапом развития моих отношений с CI стала настройка выполнения юнит тестов в Zend Framework проекте при деплойменте через Phing, а также последующее отображение результатов в Hudson.
Continue reading

Правильный bootstrap в TestCase для контроллеров

Наткнулся на ошибку в ControllerTestCase, код которого фигурирует во многих примерах для unit тестирования контроллеров в ZF. Я сам его приводил в обсуждении unit тестов на zendframework.ru. Как я понял ошибка появилась после 1.9 (хотя здесь я могу ошибаться).
Continue reading

Юніт тести в php за допомогою phpUnit (частина друга)

Це продовження статті “Юніт тести в php за допомогою phpUnit (частина перша)“. В першій частині мені подякували за переклад частини мануалу :). Та будь-ласка. Хоча я не вважаю це просто перекладом. Це конспект в якому є як приклади наведені в мануалі, так і мої власні напрацювання. А про TDD як я вже казав можна почитати на agiledev, або на wikipedia, або в спеціалізованій літературі. Я ще не настільки компетентний, щоб писати власні статті про TDD.

“Я не волшебник. Я только учусь.”

Евгений Львович Шварц

setUp() & tearDown()

Ці методи викликаються відповідно перед початком і після виконання кожного тестового методу. Їх використовують для встановлення тестового класу в певний стан. Розглянемо наступний приклад з офіційного мануалу:
Continue reading

Юніт тести в php за допомогою phpUnit (частина перша)

Про TDD можна почитати на agiledev.ru, а тут я хочу розповісти про створення автоматизованих юніт тестів за допомогою бібліотеки phpUnit.

PEAR::PHPUnit це бібліотека для створення автоматизованих тестів. Автор Sebastian Bergmann. Сайт бібліотеки http://www.phpunit.de.

Інсталюємо phpUnit

Для Widows я качав PHPUnit-3.3.4 з http://pear.phpunit.de/get/.
Копіюємо каталог PHPUnit в каталог PEAR (не забуваємо про include_path).
Continue reading