使用 Xdebug 调试代码接收测试

2022-08-30 16:28:27

我用Codeception的ApiGuy编写了一些API测试。现在我想在我的PhpStorm 7中设置断点用于测试调试,但不知道如何在之后启动调试会话。我知道选择,但这并不是我想要的。$ vendor/bin/codecept run--debug

你有什么想法吗?提前致谢!


答案 1

我遇到了同样的问题。似乎Codeception只附带了一个命令行工具,无法调试。我最终编写了自己的PHP运行器,它基本上是命令可执行文件的精简副本。codeception

实际上,在Linux中,你所要做的就是从工具中删除shebang,以将其作为PHP脚本运行。但是,由于其他命令不太可能成为调试的主题,因此我准备了一个单独的PHP脚本。它只包含以下选项:codeceptioncodeception runrun

<?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();

完成此操作后,您可以像在PHPStorm中设置任何其他脚本一样设置调试脚本。所以去>:Select Run/Debug ConfigurationEdit Configurations...

Edit Configurations...

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

enter image description here

就是这样。现在,您可以从 IDE 中运行测试,并将它们作为普通脚本进行调试。


答案 2

我使用codecept.phar文件,我发现这个文件确实有效。只需在控制台中键入以下命令,然后运行代码接收测试:

export XDEBUG_CONFIG="idekey=session_name remote_host=localhost profiler_enable=1"

推荐