Vit*_*kov 25 php testing xdebug codeception
我用Codeception的ApiGuy写了一些API测试.现在我想在我的PhpStorm 7中设置断点以进行测试调试,但是不知道如何在之后启动调试会话$ vendor/bin/codecept run.我知道--debug选项,但这不是我想要的.
你有什么主意吗?提前致谢!
Mac*_* Sz 28
我遇到了同样的问题.似乎Codeception只带有命令工具,无法调试.我终于编写了自己的PHP运行程序,它基本上是codeception命令可执行文件的简化副本.
实际上你在Linux中所要做的就是从codeception工具中删除shebang 以将其作为PHP脚本运行.但由于其他命令codeception run不太可能成为调试的主题,我已经准备了单独的PHP脚本.它只包含run选项:
<?php
/**
* Codeception PHP script runner
*/
require_once dirname(__FILE__).'/../vendor/codeception/codeception/autoload.php';
use Symfony\Component\Console\Application;
$app = new Application('Codeception', Codeception\Codecept::VERSION);
$app->add(new Codeception\Command\Run('run'));
$app->run();
Run Code Online (Sandbox Code Playgroud)
完成此操作后,您可以像设置PHPStorm中的任何其他脚本一样设置调试脚本.所以去Select Run/Debug Configuration> Edit Configurations...:

现在Add New Configuration (Alt + Inssert)> PHP Script.然后命名运行配置并选择上面创建的文件.记得添加run参数:

就是这样.现在,您可以在IDE中运行测试并将其作为普通脚本进行调试.
小智 21
我使用codecept.phar文件,我发现这个确实有效.只需在控制台中输入此命令,然后运行代码测试:
export XDEBUG_CONFIG="idekey=session_name remote_host=localhost profiler_enable=1"
Run Code Online (Sandbox Code Playgroud)
我建议使用
php -dxdebug.remote_enable=1 -dxdebug.remote_autostart=On -dxdebug.idekey=YOUR_KEY -dxdebug.remote_host=YOUR_IP ../vendor/bin/codecept run
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8343 次 |
| 最近记录: |