Laravel 5.7 在播种机中使用 Passport 进行测试
Laravel 5.7 Testing with Passport in seeder
我有一个生成 Passport 个人令牌的 UsersTableSeeder:
$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: Received Mockery_1_Illuminate_Console_OutputStyle::askQuestion(), but no expectations were specified
passport:client
命令失败,因为即使带有 --no-interaction
标志,如果未提供,它也会询问客户端名称。而且测试不知道要回答什么所以失败了。
以下适合我。
Artisan::call('passport:client --name=<client-name> --no-interaction --personal');
希望对您有所帮助!
我有一个生成 Passport 个人令牌的 UsersTableSeeder:
$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: Received Mockery_1_Illuminate_Console_OutputStyle::askQuestion(), but no expectations were specified
passport:client
命令失败,因为即使带有 --no-interaction
标志,如果未提供,它也会询问客户端名称。而且测试不知道要回答什么所以失败了。
以下适合我。
Artisan::call('passport:client --name=<client-name> --no-interaction --personal');
希望对您有所帮助!