我正在尝试测试经过身份验证的 API 路由,只有经过身份验证的用户才能发布到特定路由。
查看 Laravel Sanctum 文档,我可以使用下面的代码来创建和验证用户:
Sanctum::actingAs(
factory(User::class)->create(),
['*']
);
当我尝试复制它时,运行测试时出错
BadMethodCallException: Call to undefined method App\User::withAccessToken()
我的测试代码如下:
public function an_authenticated_user_can_add_a_client()
{
$user = Sanctum::actingAs(
factory(User::class)->create(),
['*']
);
dd($user);
// $this->post('/api/clients', $this->data());
}
api.php
Route::middleware('auth:sanctum')->group(function () {
//Clients
Route::get('/clients/{client}','ContactsController@show');
Route::post('/clients','ContactsController@store');
Route::patch('/clients/{client}','ContactsController@update');
Route::delete('/clients/{client}','ContactsController@destroy');
});
我的 User 类中没有 withAccessToken() 方法,也看不到该方法来自何处或在任何地方指定。任何帮助将不胜感激。