在我的应用程序中,我实施了OAuth2服务器(oauth2-server-laravel)和定制的认证包(Sentinel by Cartalyst)。暂时禁用/绕过中间件
在我的routes.php文件:
Route::group(['before' => 'oauth'], function()
{
// ... some routes here
}
所以要求必须提供授权头或应用程序退出与OAuthException。
现在我想单元测试我的控制器。所以我必须为每个测试使用OAuth会话和访问令牌来为我的数据库创建种子。 然后覆盖call()
-方法TestCase
,并使用承载令牌设置HTTP授权标头。
有没有一种方法来禁用或绕过中间件(在我的情况下只是为了单元测试)?
在Laravel 4中,它们被称为路由过滤器,无论如何它们在测试环境中都被禁用。您也可以使用Route::enableFilters()
手动启用/禁用它们。
我也想知道这个答案,迄今为止我的阅读是,无法在Laravel 5中禁用Laravel 5中的路由过滤器的方式禁用Laravel 5中的中间件。但是我很热衷于被证明是错误的。 – delatbabel 2015-04-07 10:13:16