18
Тестване с Codeception Тихомил Кулев 21.09.2014

Codeception test & Yii 2

Embed Size (px)

Citation preview

Page 1: Codeception test & Yii 2

Тестване с Codeception

Тихомил Кулев 21.09.2014

Page 2: Codeception test & Yii 2

Теми• Codeception - основа (basic, модули, helpers) • Видове тестове

• Acceptance test • Functional tests • Unit tests

• Настройка и инсталация на Codeception в Yii 2 • Acceptance/Funcional/Unit tests Codeception style • Модули и хелпъри • Yii 2 модул • SOAP модул • Разширана употреба

Page 3: Codeception test & Yii 2

А ти тестваш ли кода си?

Page 4: Codeception test & Yii 2

Codeception - основа

• Позволява автоматично тестване на PHP код

• Базирано върху PHPUnit и Symfony2

• Лесна разширеямост (чрез модули)

• Поддържа много frameworks, включително Yii 1/2

Page 5: Codeception test & Yii 2

Видове тестове

• Acceptance tests (WebGuy)

• Functional tests (TestGuy)

• Unit tests (CodeGuy)

• Api tests (ApiGuy)

Page 6: Codeception test & Yii 2

Acceptance tests• Емулация на браузър

• Тестване на всеки сайт

• Тестване на JS и AJAX

• Лесно четимо от хора (не-програмисти)

• Стабилно при промяна на кода

• Бавно тестване

Page 7: Codeception test & Yii 2

Functional tests• Емулация на зявка и изпращане към сървъра

• Оценява спрямо получения резултат

• Базирано е на Framework-а (env based)

• Все още четимо от хора

• Не може да се тества JS/AJAX

• По-бързо спрямо Acceptance tests

Page 8: Codeception test & Yii 2

Unit tests• Работи посредством PHPUnit

• Тестовете са по-прости

• Не четимо от нормални хора

• Тестване на основна фунционалност

• Изолирани тестове

• Най-бързо теставне

Page 9: Codeception test & Yii 2

Настройка и инсталация на Codeception в Yii 2

Инсталацияphp composer.phar “codeception/codeception:@stable”

Файловеacceptance.suite.yml, functional.suite.yml, unit.suite.yml

Page 10: Codeception test & Yii 2

Настройка и инсталация на Codeception в Yii 2

• Acceptance test

• Unit test

Page 11: Codeception test & Yii 2

Codeception Основни опции

Изпълнение - vendor/bin/codecept bootstrap Ген. конфигурации - vendor/bin/codecept configure Билдване - vendor/bin/codecept build Генериране на тестове: generate:cept <suite><test> generate:test <suite><test> generate:phpunit <suite><test> generate:scenarious <suite><test> Пускане на тестове - vendor/bin/codecept run [-g]

Page 12: Codeception test & Yii 2

Acceptance tests Codeception style

Методи за тестване

Page 13: Codeception test & Yii 2

Unit tests Codeception style

Примери за тестване

Page 14: Codeception test & Yii 2

Модули и хелпъри

• Helpers

Page 15: Codeception test & Yii 2

Yii 2 модул

http://codeception.com/docs/modules/Yii2

Page 16: Codeception test & Yii 2

SOAP модул

http://codeception.com/docs/modules/SOAPhttp://codeception.com/docs/10-WebServices

Page 17: Codeception test & Yii 2

Разширана употреба• Cest Classes

• Depends анотация

• Интерактивна конзола

• Групи

• Работа с данни

• Дебъгване

http://codeception.com/docs/07-AdvancedUsage

Page 18: Codeception test & Yii 2

• Кога да използваме functional/acceptance тестове

• Кога да пишем тестовете?

• Кое да се тества?