我写了两个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');
尝试更改表单请求授权