2017-01-09 2 views
7

У меня есть приложение Laravel 5.3.Laravel & PHPUnit: Получение 500 при модульном тестировании ограниченного маршрута «Паспорт»

Внутри моего файла api.php есть маршрут для публикации ответа в рамках опроса.

Route::group(['middleware' => 'auth:api'], function() { Route::post('/poll/answer', 'API\[email protected]'); });

Маршрут является частью группы, ограниченной auth:api промежуточного слоя, используя Passport двигатель Laravel в.

При вызове этого маршрута из Postman или любого другого инструмента для тестирования API, я получаю 401, что нормально, потому что я не прикрепляю токен.

Но когда модуль тестирует этот вызов с использованием PHPUnit, он возвращает 500. Я понятия не имею, почему.

$this->postJson('api/poll/answer');

Я, вероятно, отсутствует инструкции конфигурации или установки.

Любые идеи?

+1

Первое, что вы должны начать, это смотреть файл журнала Laravel. Это должно помочь вам определить проблему. Если это не поможет, вы должны хотя бы включить это в свой вопрос. –

+0

Вы были правы. Это была ошибка, не включающая ключ приложения внутри файла .env.testing. Спасибо что подметил это. –

ответ

3

Ошибка 500 произошла из-за того, что я забыл добавить ключ приложения в файл .env.testing.

Он был решен после добавления этого.