Когда я писал этот вопрос, я попробовал еще несколько вариантов, добавил и удалил некоторый код (я сделал по крайней мере 10 часов на прошлой неделе), и, к своему удивлению, я нашел решение.
Я просто забыл сделать:
$tenancy->tenant($website); // switches the tenant and reconfigures the app
(new RouteProvider(app()))->boot();//reloads the routes
Итак, если вы хотите настроить существующий клиент для тестирования, вам нужно будет добавить следующий фрагмент кода в свой метод setUp () . Если вы хотите создать нового клиента, вы можете следовать примеру из проблемы, указанной в вопросе.
public function setUp() : void{
parent::setUp();
$hostname = Hostname::find(1);
$website = Website::findOrFail($hostname->website_id);
$tenancy = app(Environment::class);
$tenancy->hostname($hostname);
$tenancy->tenant($website); // switches the tenant and reconfigures the app
(new RouteProvider(app()))->boot();
Artisan::call('tenancy:migrate:fresh', ['--website_id' => 1]);
Artisan::call('tenancy:db:seed',['--class' => 'TenantSeeder','--website_id' => 1]);
}
К сожалению, эта часть не задокументирована, поэтому я надеюсь, что кто-то с подобными проблемами найдет этот пост.