Laravel PHPUnit 测试抛出禁止错误。

3

我编写了两个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);
}

这是routes文件夹中的api.php文件。
Route::apiResource('books', 'BookController');
1个回答

0

尝试更改formRequest授权


目前来看,您的回答不够清晰。请进行[编辑]以添加更多细节,以帮助其他人理解这个问题的解决方法。您可以在帮助中心找到更多有关如何撰写良好答案的信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接