Итак, мне нужно проверить конечные точки API пакета Laravel.Я использую Testbench.
Звучит достаточно просто.Запустите миграции, начните сеять и сделайте запрос, используя жрет.
НО, этот пакет зависит от нескольких других пакетов, у которых есть миграции, не говоря уже о модели User, которая поставляется с Laravel.Все они являются частью большого приложения, которое выступает в качестве инструментальной панели.
Первая проблема - запуск миграций, так как пакеты используют метод loadMigrationsFrom()
, и я предполагаю, что их ServiceProvider не читаются и не выполняются при тестировании, а Testbench работает не так, как загрузчик миграции Laravel.
Ручной вызов artisan migrate
до или после «основной» миграции не работает, поскольку они переплетаются по отметке времени.
Моя идея:
Запускать модульные тесты только изолированно.
Написать интеграционный тест, который будет запускаться как часть установки «основного приложения», когда присутствуют все модели и миграции.
Имеет ли это смысл?Есть ли лучший способ написать и запустить эти тесты?