我正在使用behat+mink。我编写了一些功能,现在正在运行测试。
当运行behat测试时,如何启用xdebug以便在phpstorm上通过断点停止?
我正在使用behat+mink。我编写了一些功能,现在正在运行测试。
当运行behat测试时,如何启用xdebug以便在phpstorm上通过断点停止?
值得注意的是,由于这是命令行,您需要编辑/etc/php5/cli/conf.d/20-xdebug.ini下的cli配置。
您也可以通过导出变量作为环境变量来完成此操作,只需记住每次启动新的shell时执行此操作(或将其添加到您的.bash_profile文件中):
export XDEBUG_CONFIG="remote_host=<YOUR IP>"
默认情况下,PHPStorm似乎无法理解远程CLI脚本,因此我们需要添加一个配置,告诉它期望CLI脚本触发xdebug。
设置完成后,从调试工具栏中选择您的配置,并单击bug图标(也可以使用运行菜单)开始调试器侦听。这类似于默认的电话按钮(用黄色圈出),但它告诉PHPStorm使用您的新配置。
现在,只需像通常从服务器上运行behat一样运行,您的调试器应该连接并停止在您放置的任何断点上。
如果您对其是否有效有疑虑,请尝试在运行菜单中切换“在第一行中断”,因为这应该使调试器在运行behat时立即中断(在bin / behat文件中)
xdebug.remote_connect_back=0
非常重要,以确保xdebug.remote_host
和xdebug.remote_port
的值被尊重。如果不将其设置为0
,则只能调试behat步骤,而无法对测试系统进行调试。 - Alex Skrypnyk