Laravel 5.7 Тестирование с паспортом в сеялке - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть UsersTableSeeder, который генерирует личный токен Passport:

$user = factory(User::class)->create([
    'email' => 'someone@example.com',
]);

Artisan::call('passport:client', [
    '--personal' => 'default',
    '--no-interaction' => true,
]);

Однако, когда я заполняю свои тесты с помощью $this->artisan('db:seed');, я получаю следующую ошибку:

Mockery \ Exception \ BadMethodCallException: получено Mockery_1_Illuminate_Console_OutputStyle :: askQuestion (), но ожидания не указаны

1 Ответ

0 голосов
/ 01 апреля 2019

Команда passport:client не выполняется, поскольку даже с флагом --no-interaction запрашивается имя клиента, если оно не указано.И тест не знает, что ответить, поэтому он терпит неудачу.

Следующее работает для меня.

Artisan::call('passport:client --name=<client-name> --no-interaction --personal');

Надеюсь, это поможет!

...