Codeception - WTF?

Post on 01-Dec-2014

2.935 views 1 download

description

Тестирование в PHP: Inception? Perception? Codeception!, Михаил Боднарчук Михаил в своем докладе затронет следующие темы: “Terra Incognita” тестирования в PHP Знакомимся с Codeception Пробуем тестировать простое Веб приложение Используем паттерн PageObject в Codeception Интегрируемся с фреймворками и базой данных Расширяем стандартные модули Делаем покрытие кода Тестируем API Генерируем читабельные отчеты И как бонус: пробуем на вкус сценарные юнит-тесты.

Transcript of Codeception - WTF?

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

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