如何在Laravel功能测试中注销用户?

发布于 2025-02-09 09:07:55 字数 153 浏览 1 评论 0原文

在Laravel功能测试中,

鉴于用户已通过编程登录,以使用

$this->actingAs(self::$user, 'api');

该用户如何注销?
Actingas不接受Null作为第一个参数。

In Laravel feature tests,

Given that user has been programmatically logged in using

$this->actingAs(self::$user, 'api');

How would I logout this user?
actingAs does not accept null as first parameter.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

可可 2025-02-16 09:07:55

注销用户的好方法是

$guard = Mockery::mock(Guard::class);
$guard->expects('check')
        ->andReturns(false);

Auth::shouldReceive('guard')
       ->andReturns($guard);

A good way to logout the user is

$guard = Mockery::mock(Guard::class);
$guard->expects('check')
        ->andReturns(false);

Auth::shouldReceive('guard')
       ->andReturns($guard);
迷离° 2025-02-16 09:07:55

取决于您正在使用的警卫:

  1. for code> tokenguard 您可以使用auth :: hevyuser()
  2. for session> sessionguard使用auth :: auth :: lokout ()

Depends on the guard you are using:

  1. for TokenGuard you can use Auth::forgetUser()
  2. for SessionGuard use Auth::logout()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文