简体   繁体   中英

Drupal 8: Debugging tests with XDebug and PHPStorm - cennot step through

I'm trying to debug my Drupal 8 tests with XDebug, but if I run them with XDebug switched on, I cannot step into the test. I execute the following command:

vendor/bin/phpunit -c core modules/permissions_by_term/tests/src/Kernel/SelectTermTest.php

PHPUnit reports me here:

"Can't find a source position. Server name 'localhost' doesn't exist."

My settings in the PHP.ini file are looking as follows:

xdebug.remote_enable=true xdebug.profiler_enable=0 xdebug.idekey=PHPSTORM xdebug.max_nesting_level=256 xdebug.remote_autostart=true

Can anybody share here some experience?

I got it to run. I had to do some more settings.

First, create a new PHP Remote Debug under the Run Configurations (The ZeroConfiguration didn't work for me). Define a Server with the name you want (here "TestServer") and enter PHPSTORM as Ide Key.

Also see the Jetbrains documentation: https://confluence.jetbrains.com/display/PhpStorm/Debugging+PHP+Web+Applications+with+Run+Debug+Configurations

Enable the option "Break at first line in PHP scripts" in under the RUN menu .

It can be possible that you need to override the file mapping. (In my case PHPStorm is not able to detect file mapping automatically) (See: https://www.jetbrains.com/help/phpstorm/10.0/override-server-path-mappings-dialog.html ). It's is within same dialog where the server was created.

Start the Remote Debug Session with clicking on the corresponding icon.

Then you should be able to run PHPUnit with this command:

PHP_IDE_CONFIG="serverName=TestServer"  XDEBUG_CONFIG="idekey=PHPSTORM" vendor/phpunit/phpunit/phpunit -c YOUPHPUNITXMLCONFIG

Set the PHP_IDE_CONFIG corresponding to your settings.

Set breakpoints where you want to stop.

I hope I could help you.

Nico

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM