无法调试Laravel HTTP测试

时间:2018-06-16 23:13:38

标签: php laravel testing integration-testing xdebug

我有几个HTTP tests in a Laravel 5.6项目。我想调试他们调用的测试和代码路径。我可以调试测试方法,但不能调试实际代码。这意味着调试器不会在控制器等的断点处停止。

我使用的是Xdebug 2.6.0,PhpStorm 2018.1和PHP 7.2。

1 个答案:

答案 0 :(得分:0)

事实证明,500错误代码来自一个自定义中间件层而不是来自控制器。因此,由于中间件层中的错误,断点永远不会被击中。我希望有一个错误堆栈跟踪而不是只有消息"预期状态代码200但收到500"。

我最终嘲笑中间件。以防有人对我是如何做到这一点感兴趣:

$mockMiddleware = Mockery::mock("App\Http\Middleware\MyMiddleware");
$mockMiddleware->shouldReceive("handle")->once()
    ->andReturnUsing(function ($request, $next) {
        return $next($request);
    });

App::instance("App\Http\Middleware\MyMiddleware", $mockMiddleware);