有没有办法关闭一些Laravel 5.0中间件进行功能测试?
答案 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);
}