nah*_*hri 6 laravel-routing laravel-5 laravel-middleware
在我的应用程序中,我实现了OAuth2-Server(oauth2-server-laravel)与自定义身份验证包(Sentinel by Cartalyst)的组合.
在我的routes.php中:
Route::group(['before' => 'oauth'], function()
{
// ... some routes here
}
Run Code Online (Sandbox Code Playgroud)
因此,请求必须提供授权标头,否则应用程序将退出OAuthException.
现在我想对我的控制器进行单元测试.因此,我必须为每个测试使用OAuth会话和访问令牌为我的数据库建立种子.然后覆盖call()-method TestCase并使用Bearer Token设置HTTP-Authorization Header.
有没有办法禁用或绕过中间件(在我的情况下仅用于单元测试)?
在Laravel 4中,它们被称为路由过滤器,无论如何它们在测试环境中被禁用.您也可以手动启用/禁用它们Route::enableFilters().
显然,随着Laravel 5.1的发布,该类disableMiddleware()已经添加了一个方法TestCase,该方法现在完全符合我的要求.
问题解决了.:)