You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
However, even though the -dxdebug.mode=coverage option is passed, I still get a warning that XDEBUG_MODE=coverage or xdebug.mode=coverage has to be set. And the code coverage dialog does not appear.
Upon checking the PHPUnit code, I found that it checks for the XDEBUG_MODE environment variable first, before checking the xdebug.mode ini option. And even though the ini option is passed, it still checks for the environment variable, which is set in my case to something else.
I checked the environment variables using var_dump(getenv('XDEBUG_MODE')); and found that it is set to debug,develop.
It seems that the getenv() function takes precedence over the -dxdebug.mode option. Can this behavior be changed so that the passed ini option takes precedence over the environment variable?
Expected result:
The -dxdebug.mode=coverage option should enable code coverage without the need for setting the XDEBUG_MODE environment variable.
Actual result:
The -dxdebug.mode=coverage option is not recognized as enabling code coverage, and the XDEBUG_MODE environment variable needs to be set.
Issue: XDebug code coverage not working with "php -dxdebug.mode=coverage" option
Description:
I'm trying to run PHPUnit tests with code coverage in PhpStorm. I use the following command:
However, even though the -dxdebug.mode=coverage option is passed, I still get a warning that
XDEBUG_MODE=coverage or xdebug.mode=coverage has to be set
. And the code coverage dialog does not appear.Upon checking the PHPUnit code, I found that it checks for the XDEBUG_MODE environment variable first, before checking the xdebug.mode ini option. And even though the ini option is passed, it still checks for the environment variable, which is set in my case to something else.
Here's the relevant code from PHPUnit:
I checked the environment variables using var_dump(getenv('XDEBUG_MODE')); and found that it is set to
debug,develop
.It seems that the getenv() function takes precedence over the
-dxdebug.mode
option. Can this behavior be changed so that the passed ini option takes precedence over the environment variable?Expected result:
The
-dxdebug.mode=coverage
option should enable code coverage without the need for setting the XDEBUG_MODE environment variable.Actual result:
The
-dxdebug.mode=coverage
option is not recognized as enabling code coverage, and the XDEBUG_MODE environment variable needs to be set.Environment:
The text was updated successfully, but these errors were encountered: