Аутентификация моих API с помощью Laravel Passport / Phpunit
Я только что аутентифицировал свои API на основе документов.
Дело в том, что мое функциональное тестирование с phpunit не работает. Я получаю ошибку "Неаутентифицировано".
Я пытался использовать промежуточное ПО, рекомендованное здесь, но оно не сработало.
Я думаю, мне нужно будет включить поля csrf в запрос, но я не знаю, как это сделать для тестирования
Вот мой тест:
$this->json('POST', '/api/v1/category/create',$data)
->seeJson($data)
->seeInDatabase('category', $data);
Есть идеи, как мне это сделать???
1 ответ
Есть Illuminate\Foundation\Testing\WithoutMiddleware
черта, которую вы можете использовать, которая обойдёт промежуточное ПО аутентификации (но и все остальное промежуточное ПО).
Однако более гибкий подход использует встроенную обработку тестирования для аутентификации. Проходя actingAs
Функция действительный пользователь выполнит ваш тест, как если бы этот пользователь вошел в систему.
$user = factory(App\User::class)->create();
$this->actingAs($user)->visit('/');