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)

«Всё включено»
Вопросы?
http://codeception.com
@codeception



Михаил Боднарчук

Codeception - WTF?