xdebug and drupal8 tests (phpunit and simpletest)

Post on 15-Jul-2015

436 Views

Category:

Software

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Xdebug with PHPUnitIn Drupal 8

About me

Intro: XDebug

Depuración en PHP:● print_r(), var_dump(), …● FirePHP● Kint , Krumo, Ladybug● phpdbg incluido ya en 5.6

Intro: XDebug

● Debugging and profiling PHP extension● Show log trace information● Allow step by step debugging

More info

Intro: XDebug - My experience

I feel secure on my own!!! butIt’s not the holy grail

Xdebug installation + configuration:PHP extension

+System configuration

+IDE configuration

+Browser configuration

Xdebug installation: PHP extension

sudo apt-get install php5-xdebug

http://xdebug.org/docs/install

Xdebug installation: System configuration

● zend_extension="/usr/lib/php5/20121212/xdebug.so"● xdebug.remote_enable=1● xdebug.remote_host= IDE host● xdebug.remote_port="9000"● xdebug.profiler_enable=1● xdebug.profiler_output_dir="/tmp"● xdebug.idekey="drupal8"

/etc/php5/apache2/php.ini AND/OR /etc/php5/cli/php.ini

How do we check it?

Web: echo phpinfo();

Xdebug installation: How do we check it?Console (cli): php -v & php -i | grep remote

IDE configuration

● Set Xdebug in PhpStorm● Add a Php remote debug / Php Unit instance

in PhpStorm● Set session id (ide key)

IDE configuration: Set XDebug

● Configure Php debug● Configure server

IDE configuration: Debug instance

Open Debug panel pressing F9 and select Edit configuration

Add new PHP Remote Debug instance

Set the ide key (session id)and server

Browser configuration

● The IDE needs an Id to start the debug● The browser provides the Id (session_id)● Chrome / Firefox extension to provide Id

○ Xdebug helper

Use case : Debug code (I)● Drupal 8 installed in local● XDebug installed in local● PhpStorm configured with an instance

● Add breakpoint in code● Run debug mode● Navigate to stop in the breakpoint

Environment configuration:

Use case:

This is my day by day use of XDebug.

Use case : Debug code (II)● Drupal 8 installed in remote environment (vagrant)● XDebug installed in remote environment (vagrant)● PhpStorm configured with a sync code to remote env.

● Add breakpoint in code● Run debug mode● Navigate to stop in the breakpoint

Environment configuration:

Use case:

This is @LuisGonRod day by day use of XDebug.

Use case : Debug code (III)Question: What if @LuisGonRod and me want debug in the same remote environment?

http://derickrethans.nl/debugging-with-multiple-users.html

Use case : Debug code (III)

Use case : Debug tests (I)● Drupal 8 installed in local● XDebug installed in local● PhpStorm configured with an instance

● Activate module Testing● Run test Drupal\node\Tests\PageEditTest

Environment configuration:

Running test by using browser

Use case● Add breakpoint in test code● Run debug mode● Run test and wait to stop in breakpoint

Sometimes never stop...at least for me

Use case : Debug tests (II)● Drupal 8 installed in local● XDebug installed in local● PhpStorm configured with an instance

● Activate module Testing● Run test using

○ run-tests.sh script○ drush test-run

Environment configuration:

Running test by using Php cli

Use case : Debug tests - run-tests.sh (III)

configuring the script using PhpStorm it works

XDEBUG_CONFIG="idekey=drupal8" sudo php core/scripts/run-tests.sh --php /usr/bin/php --url http://local.drupal --class "Drupal\node\Tests\PageEditTest"

For me it’s not working, right now :(

Use case : Debug tests - run-tests.sh (IV)● Go to debug configuration (F9)● Add a Php Script instance● Configure it

○ File: path to run-tests.sh○ Arguments: The run-tests parameters○ Environment variables: XDEBUG_CONFIG with idekey

Use case : Debug tests - drush test-run (V)drush test-run --uri= local.drupal Drupal\node\Tests\PageEditTest

...And what about PHPUnit?We can debug PHPUnit tests using Phpstorm adding a PHPUnit or PHPUnit on server instance

what about PHPUnit and php cli?We can run test through runt-tests.sh script or

php scripts/run-tests.sh --php /usr/bin/php PHPUnit

And now...what?

Do you know why we have moustache?

● Configuraciones especiales de Xdebug● Si lanzamos los test por consola no tenemos

la cookie del navegador.

Movember and Drupal community

If you can, please, donate.you won’t be the only one, maybe in that room you find some moustaches in @jose_lakatos @jsbalsera @penyaskito and @gloobhttp://es.movember.com/en/team/1674337http://es.movember.com/mospace/10983485

top related