При запуске тестов в laravel накатывается база из миграций:
/tests/TestCase.php
Для тестов отдельный .env.test файл с тестовой базой.
Затем с ней идёт работа при необходимости. Заполняется если надо, прогоняются функции.
Artisan::call('migrate....писать фальшивый Eloquent
Чтобы проверить как работает написанная фальшивая база? А на настоящей всё упадёт в итоге.
Правда база наказывается в начале один раз.
Чтобы исключить влияние тестов друг на друга я каждый тест начинал с очистки и миграции по новой.
Ну это если такая необходимость будет. Думаю в обычном случае такое не надо.
Я не великий тестописец, может это вообще неправильно, но работает :)
Автоматический
прогон тестов через travis-ci тоже отлично работает при таком варианте.