在我的应用程序中,我结合了自定义身份验证包(Cartalyst 的 Sentinel )实现了 OAuth2-Server( oauth2-server-laravel)。
在我的 routes.php 中:
Route::group(['before' => 'oauth'], function()
{
// ... some routes here
}
因此,请求必须提供授权标头,否则应用程序会以 OAuthException 退出。
现在我想对我的控制器进行单元测试。所以我必须为我的数据库添加一个 OAuth 会话和每次测试的访问令牌。然后用 Bearer Token 覆盖call()
-methodTestCase
并设置 HTTP-Authorization Header。
有没有办法禁用或绕过中间件(在我的情况下仅用于单元测试)?
在 Laravel 4 中,它们被称为路由过滤器,无论如何它们在测试环境中都被禁用了。您也可以使用 . 手动启用/禁用它们Route::enableFilters()
。