之前介紹了一篇 關於 auth 的博文: 守衛者在這邊就能運用上了。
在單元測試中,測試一個服務方法,有呼叫到 Auth::user()->id ,下面來介紹一下測試中認證賦值。
建立一個AuthTest 的方法:
php artisan make:test ShoppingTest –unit
需要引用 trait use InteractsWithAuthentication;
新增一個setUp
public function setUp(): void
{
parent::setUp();
}
此方法,類似這個測試類中的初始化。
public function setUp(): void
{
parent::setUp();
$this->actingAs( User::first(),'admin');
}
用 be 或者 actingAs 都可以,感興趣的同學可以看下原始碼。
其實上面的 admin
就是守衛者。
在測試方法中,就可以直接呼叫 Auth::guard('admin')->user();
public function testIsLogin()
{
// $res =Auth::guard('admin')->user();
$this->assertAuthenticated();
}
斷言是否登入。
這邊有一個坑:
Call to a member function connection() on null
use Tests\TestCase;
本作品採用《CC 協議》,轉載必須註明作者和本文連結