Laravel PHPUnit 测试抛出禁止错误



我写了两个PHPUnit测试,只有在用户经过身份验证时才更新和删除书籍记录。我正在使用 Passport 进行身份验证,但我的测试都失败,两个测试都出现403错误。我的代码下面可能有什么问题

public function test_onlyAuthenticatedUserCanUpdateBookSuccessfully()
{
$user = factory(User::class)->create();
Passport::actingAs($user);
$book = factory(Book::class)->create();
$response = $this->json('PUT', '/api/books/'.$book->id, [
'id'    => $book->id,
'title' => 'Updated book title',
'author'=> 'New Guy'
]);
$response->assertStatus(201);
}
public function test_onlyAuthenticatedUserCanDeleteBook()
{
$user = factory(User::class)->create();
Passport::actingAs($user);
$book = factory(Book::class)->create();
$response = $this->json('DELETE', '/api/books/'.$book->id);
$response->assertStatus(204);
}

这是 api.php routes 文件夹中的文件

Route::apiResource('books', 'BookController');

尝试更改表单请求授权

最新更新