我正在使用 behat+mink。我写了一些功能,现在正在运行测试。
运行 Behat 测试时,如何启用 xdebug 以在 phpstorm 中的断点处停止?
最佳答案
我还没有用 Mink 尝试过这个,但这个配置允许我逐步调试 behat(behat 在远程服务器上运行):
使用 x-debug 配置您的服务器
值得注意的是,由于这是命令行,您需要编辑/etc/php5/cli/conf.d/20-xdebug.ini 下的 cli 配置。
您也可以通过将值导出为 env 变量来执行此操作,而无需编辑您的 ini,只需记住每次启动新 shell(或添加到 .bash_profile 文件)时执行此操作:
export XDEBUG_CONFIG="remote_host=<YOUR IP>"
配置 PHPStorm 的调试器
似乎默认情况下,PHPStorm 不理解 remote-cli 脚本,所以我们需要添加一个配置,告诉它期望一个 CLI 脚本来触发 xdebug
调试!
设置完成后,从调试工具栏的下拉列表中选择您的配置,然后单击错误图标(您也可以使用运行菜单)启动调试器监听。这类似于默认的电话按钮(黄色圆圈),但它告诉 PHPStorm 使用您的新配置。
现在只需像往常一样从服务器运行 behat,调试器应该连接并在您放置的任何断点处停止。
如果您怀疑它是否正常工作,请尝试切换“运行”菜单中的“在第一行中断”,因为这将使调试器在运行 behat 时立即中断(在 bin/behat 文件中)
关于phpstorm - 在 Behat 中启用 XDebug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27522054/