【问题标题】:Cannot debug Laravel HTTP Tests无法调试 Laravel HTTP 测试
【发布时间】:2018-06-16 23:13:38
【问题描述】:

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

我正在使用 Xdebug 2.6.0、PhpStorm 2018.1 和 PHP 7.2。

【问题讨论】:

  • 你能从控制器 dd() 吗?如果没有,控制器可能不会被击中
  • @user3089840 - 谢谢,我可以。

标签: php laravel testing integration-testing xdebug


【解决方案1】:

事实证明,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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-04
    • 2017-10-30
    • 2015-06-19
    • 2016-03-24
    • 2013-08-04
    • 1970-01-01
    • 2019-03-06
    相关资源
    最近更新 更多