Inception? Perception?
Codeception! Современное тестирование в PHP
Михаил Боднарчук
Обо мне
Веб-разработчик с 2004
PHP && Rails
Живу в Киеве
Люблю мерзнуть в горах
@davert
ПоХаПэ
75% веб сайтов сделаны на PHP
Среди них Wikipedia, Facebook, …
Интернет-магазины (Magento, OSCommerce)
Сайты (Drupal, Wordpress, Joomla)
Фреймворки: Symfony2, Zend2, Yii, Kohana
PHP тоже нужно тестировать
PHPUnit
Behat
Codeception
Почему Codeception
Легко начать
Легко писать и поддерживать тесты.
Легкий debug
Тесты
<?php
$I = new WebGuy($scenario);
$I->wantTo('create todo task');
$I->amOnPage('/tasks');
$I->fillField('New Task‘, 'Update a blog');
$I->click('Add');
$I->see('Update a blog', '#tasks');
Что нужно чтобы начать?
English
Минимальные знания PHP (1 вечер)
Установленная IDE (Netbeans, Eclipse, PhpStorm)
Консоль!
Тестируем приложение
РЕАЛЬНОЕ ПРИЛОЖЕНИЕ. ВААЩЕ!
МНОГО КОДА!!!!
МНОГО PHP!!!!
не пытайтесь повторить это в домашних условиях
ни один баг не пострадал при написании этих тестов
Тестируем форму логина.
Пишем простой тест…
и рефакторим его до неузнаваемости.
Конечно же используем PageObject
Покрытие кода
Только не матами! Это задача разработчиков.
Remote CodeCoverage.
XML отчет
HTML отчет.
Remote CodeCoverage
Необходимо внедрить файл c3.php
Конфигурация: какие файлы включать?
Выполнить с параметром --coverage
Принципы
Легко начать
KISS (Keep It Simple)
«Всё включено»
Top Related