我有一个测试我在哪里模拟登录,然后我想测试一下,好像我没有登录。就像这样。
// log in as user with id 2
$id = 2;
Passport::actingAs(User::findOrFail($id));
testSomeStuff()
...
// now I want to test things as if I was not logged in
有没有办法在一个测试功能中执行此操作?我使用的是Laravel 5.6和Passport 5。
答案 0 :(得分:1)
在测试中尝试一下
$this->refreshApplication();
有同样的问题,这是唯一对我有用的事情
编辑:似乎也清除了数据库。直接调用注销端点似乎也可以。
$this->actingAs($user)->get('/logout');
答案 1 :(得分:-1)
以下将起作用:
Auth::logout();
不要将use Illuminate\Support\Facades\Auth;
设置在测试类之上。