Правильный способ написания интеграционного теста для пакета Laravel - PullRequest
0 голосов
/ 29 апреля 2019

Итак, мне нужно проверить конечные точки API пакета Laravel.Я использую Testbench.
Звучит достаточно просто.Запустите миграции, начните сеять и сделайте запрос, используя жрет.

НО, этот пакет зависит от нескольких других пакетов, у которых есть миграции, не говоря уже о модели User, которая поставляется с Laravel.Все они являются частью большого приложения, которое выступает в качестве инструментальной панели.

Первая проблема - запуск миграций, так как пакеты используют метод loadMigrationsFrom(), и я предполагаю, что их ServiceProvider не читаются и не выполняются при тестировании, а Testbench работает не так, как загрузчик миграции Laravel.

Ручной вызов artisan migrate до или после «основной» миграции не работает, поскольку они переплетаются по отметке времени.

Моя идея:
Запускать модульные тесты только изолированно.
Написать интеграционный тест, который будет запускаться как часть установки «основного приложения», когда присутствуют все модели и миграции.

Имеет ли это смысл?Есть ли лучший способ написать и запустить эти тесты?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...