Description
Feature Request
- Yes, I reviewed the contribution guidelines.
Describe your use case and the problem you are facing
When working with the Behat tests, I'd like to be able to step debug the actual WP CLI + WordPress code which is being run.
Describe the solution you'd like
Add a WP CLI environmental variable to enable Xdebug, which would prepend any WP CLI commands run by Behat with Xdebug environmental variables to enable it.
WP_CLI_TEST_XDEBUG=true composer behat
In wp-cli/wp-cli/php/WP_CLI/Process.php:73 add:
if( getenv( 'WP_CLI_TEST_XDEBUG' ) ) {
$this->command = "XDEBUG_CONFIG=\"idekey=WP_CLI_TEST_XDEBUG remote_connect_back=1 log_level=0\" XDEBUG_MODE=debug $this->command";
}
Drawbacks:
Definitely slower. And I seem to have to click play often, but maybe that's just a PhpStorm setting I've got wrong.
Alternatives:
Edit every Behat feature to add XDEBUG_CONFIG="idekey=WP_CLI_XDEBUG remote_connect_back=1 log_level=0" XDEBUG_MODE=debug
as needed.
I seem to need XDEBUG_SESSION=1
sometimes – I certainly did not need it when I opened the issue.