Чтобы иметь возможность запускать интеграционные тесты с тестированием базы данных, я написал сидер, который заполняет таблицу Messages поддельными сообщениями для поддельного, только что созданного пользователя. Затем идентификатор этого пользователя требуется для получения сообщений, поэтому внутри класса сеялки я просто распечатываю его идентификатор.
Затем в тесте я вызываю следующее:
$output = new BufferedOutput;
$exitCode = \Artisan::call('db:seed', ['--class' => UserMessagesSeeder'], $output);
Это должно позволить мне получить вывод со следующим:
$output->fetch()
Однако приведенное выше всегда возвращает значение null.
Я что-то делаю не так? Или, может быть, есть лучший способ вызвать сеялку? Должен ли я просто включить всю фабрику в свой класс тестирования и вызывать ее при необходимости? Это кажется громоздким, если честно.