我使用 Codeception 的 ApiGuy 编写了一些 API 测试。现在我想在我的 PhpStorm 7 中设置断点以进行测试调试,但不知道如何在 $ vendor/bin/codecept run
之后启动调试 session 。我知道 --debug
选项,但这并不是我想要的。
你有什么想法吗?提前致谢!
最佳答案
我遇到了同样的问题。 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();
完成此操作后,您可以像 PHPStorm 中的任何其他脚本一样设置调试脚本。所以转到 Select Run/Debug Configuration
> Edit Configurations...
:
现在 添加新配置(Alt + Insert)
> PHP 脚本
。然后命名运行配置并选择您在上面创建的文件。请记住添加 run
参数:
就是这样。现在您可以从 IDE 中运行您的测试并将它们作为普通脚本进行调试。
关于php - 使用 Xdebug 调试 Codeception 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18606807/