我具有使用PHPUnit在PhpStorm中成功测试我的本地主机API的配置。另外,我可以在断点处停止,但只能在TestCase类内部。
我需要停止在经过测试的逻辑内部设置的断点,但是并不能就此停止。
测试命令:
/usr/bin/php -dxdebug.remote_enable=1 -dxdebug.remote_mode=req -dxdebug.remote_port=9000 -dxdebug.remote_host=127.0.0.1 /foo/vendors/composer/phpunit/phpunit/phpunit --configuration /foo/_stuff/phpunit/config-api2.xml --teamcity
我的配置xml:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit
bootstrap="../../foo/tests/app_test_case.php"
colors="true"
stopOnFailure="false"
>
<testsuites>
<testsuite name="foo">
<file>../../foo.php</file>
</testsuite>
已添加到php.ini:
xdebug.remote_autostart = 1
已添加到请求的路线:
?XDEBUG_SESSION_START=PHPSTORM
并在index.php中添加cookie:
header('Cookie: XDEBUG_SESSION=PHPSTORM');
答案 0 :(得分:1)
是的,可以。
这里的问题是如何为这些API调用启动调试会话。
最常见的方法是将xdebug.remote_autostart=1
添加到php.ini中,以运行调用的解释器,以便针对每个单个PHP调用(无论是否具有API)启动调试会话。
如果您对此不满意,可以将XDEBUG_SESSION_START
GET参数添加到调用的HTTP请求中,但这显然需要修改代码。