我有几个HTTP tests in a Laravel 5.6项目。我想调试他们调用的测试和代码路径。我可以调试测试方法,但不能调试实际代码。这意味着调试器不会在控制器等的断点处停止。
我使用的是Xdebug 2.6.0,PhpStorm 2018.1和PHP 7.2。
答案 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);