Symfony2. Unit testing by Vadim Kharitonov

Post on 10-May-2015

246 views 0 download

Tags:

description

Minsk Symfony: встреча в Марте

Transcript of Symfony2. Unit testing by Vadim Kharitonov

SYMFONY 2.PHPUNIT

Vadim Kharitonov

1. INSTALLATION

1.1 OS PACKAGE# apt-get install phpunit

1.2 PHPUNIT.PHAR$ wget https://phar.phpunit.de/phpunit.phar

$ chmod +x phpunit.phar

1.3 COMPOSER$ ./composer.phar require

'phpunit/phpunit=4.1.*'

1.4 PEAR# pear config-set auto_discover 1

# pear install pear.phpunit.de/PHPUnit

2. LET'S BATTLE

2.1 ENTITY

ENTITY\USER

TESTS\ENTITY\USERTEST

2.2 REPOSITORY

COMPOSER.JSON

APPKERNEL

CONFIG_TEST.YML

REPOSITORY\USERREPOSITORY

TESTS\REPOSITORY\USERREPOSITORYTEST

TESTS\REPOSITORY\FIXTURES\LOADUSERDATA

2.3 CONTROLLER

CONTROLLER\DEMOCONTROLLER

TESTS\CONTROLLER\DEMOCONTROLLERTEST

2.4 CONSOLE COMMANDS

COMMAND\HELLOWORLDCOMMAND

TESTS\COMMAND\HELLOWORLDCOMMANDTEST

2.5 FORMS

FORM\USERTYPE

TESTS\FORM\USERTYPETEST

2.6 EXTENSIONS

DEPENDENCYINJECTION\CONFIGURATION

DEPENDENCYINJECTION\ACMEDEMOEXTENSION

TESTS\DEPENDENCYINJECTION\ACMEDEMOEXTENSIONTEST

2.7 EVENT LISTENERS

EVENTLISTENERS\USERNOTIFIERLISTENER

EVENTS\USEREVENT

RESOURCES\CONFIG\SERVICES.XML

TESTS\EVENTLISTENERS\USERNOTIFIERLISTENERTEST

2.8 TWIG EXTENSIONS

RESOURCES\CONFIG\SERVICES.XML

TWIG\EXTENSION\SQREXTENSION

TESTS\TWIG\EXTENSION\SQREXTENSIONTEST

TESTS\TWIG\EXTENSION\FIXTURES\FILTERS\SQR.TEST

TWIG\EXTENSION\USEREXTENSION

TESTS\TWIG\EXTENSION\USEREXTENSIONTEST

3. CODE CHARACTERISTICSWhat percentage of the code coverage do u have?

3.1. CODE COVERAGE

$ bin/phpunit -c app --coverage-text

$ bin/phpunit -c app --coverage-

html=../report

3.2 PHP COPY/PASTEDETECTOR

$ wget https://phar.phpunit.de/phpcpd.phar

$ chmod +x phpcpd.phar

$ ./phpcpd.phar --exclude="*Test" src