Отправка Symfony \ Component \ HttpFoundation \ Request во время модульных тестов не работает правильно по сравнению с использованием Postman - PullRequest
0 голосов
/ 17 октября 2019

В официальном репозитории github меня попросили идентифицировать это как ошибку, поэтому мне нужна дополнительная помощь других людей.

Это оригинальная проблема github: https://github.com/laravel/lumen-framework/issues/990

Это ошибка или неправильное использование?

  • Версия Lumen: Laravel Framework Lumen (6.2.0) (Laravel Components ^ 6.0)
  • Версия PHP: php: 7.3-fpm-stretch (изображение докера)
  • Драйвер и версия базы данных: нет

Описание: отправка объекта Request :: create (...) работает должным образом с использованием Postman, ноне во время модульных тестов.

Действия для воспроизведения: Убедитесь, что порт 8080 свободен или измените его в файле docker-compose.yml

git clone https://github.com/Hell4Ge/lumenbug-1.git cd lumenbug-1/.docker/ && docker-compose -p lumenbug-1 up -d --build docker exec lumenbug-1_php_1 cp .env.example .env docker exec lumenbug-1 composer update docker exec lumenbug-1_php_1 vendor/bin/phpunit

Ожидается сбой модульного теста, поскольку он является доказательством; результат отличается от выполнения запроса POST на http://localhost:8080/anotherExampleRoute с использованием Почтальона.

Вариант использования Iразработка API, который должен вызывать другие маршруты из одного маршрута, так как откат базы данных проще иorage

если что-то не получается. Пока эта ошибка сохраняется, я не могу проверить, эффективно ли

Примечания к сторонам Произошло также и в 5. * версии Lumen, я заметил, что после запуска модульного теста некоторые вещи остаются

то же самое, так как поставщики, похоже, не запускаются снова при каждом следующем запросе (т. Е. Вы не можете сменить пользователя, отправляя другой токен в будущих запросах, вместо этого вы ДОЛЖНЫ использовать метод actAs, который был не в мою пользу, поскольку онбыл вполне нестандартный способ входа).

...