禁用Laravel 5(非5.1)中间件进行测试

时间:2015-11-18 05:18:23

标签: laravel testing laravel-5

有没有办法关闭一些Laravel 5.0中间件进行功能测试?

2 个答案:

答案 0 :(得分:2)

只需编辑SELECT * from tmpcols文件并对数组app/Http/kernel.php中任何不需要的中间件行进行评论即可。

您不需要对$middleware中的内容进行评论,因为这些内容无法自动调用,需要在$routeMiddleware文件中专门激活它们。

另一种方式:

routes.php复制为Kernel.php在同一文件夹中。

然后将Kerneltest.php中的类重命名为Kerneltest.php并将其设为Kerneltest

然后从Kerneltest

中删除任何中间件行

然后将以下内容添加到extends Kernel

bootstrap\app.php

然后在$app->singleton( 'Illuminate\Contracts\Http\Kerneltest', 'App\Http\Kerneltest' ); 中使用

public\index.php

$kernel = $app->make('Illuminate\Contracts\Http\Kerneltest');

取决于您是否正在测试。

答案 1 :(得分:0)

我找到了简单的解决方案,虽然它可能不是" TRUE"但它确实有效。我已将我的app / Http / Middleware / VerifyCsrfToken.php中的方法句柄()修改为此

public function handle($request, Closure $next)
{
    if (env('APP_ENV') === 'testing') {
        return $next($request);
    }
    return parent::handle($request, $next);
}