Lumen 8 - 在测试中使用 Faker 会导致 InvalidArgumentException: Unknown format "name"
Lumen 8 - Using Faker in tests makes InvalidArgumentException: Unknown format "name"
我使用的是 Lumen 默认测试,只将这一行添加到测试中:
$users = \App\Models\User::factory()->count(5)->create();
但是当 运行 测试时我得到这个错误 :
InvalidArgumentException: Unknown format "name"
我没有碰 UserFactory
Class 我把它包含在下面,我的代码有什么问题?
public function definition()
{
return [
'name' => $this->faker->name,
'email' => $this->faker->unique()->safeEmail,
];
}
取消注释 app.php
中的这些行,现在可以使用了:
$app->withFacades();
$app->withEloquent();
您必须扩展使用 Tests\TestCase 而不是 PHPUnit\Framework\TestCase。
至少,它对我有帮助。
如果其他人最终来到这里寻找 Laravel 中的类似问题,请务必包含
parent::setUp();
在你的设置方法中(如果你有的话)。例如,
class ManageDocumentTest extends TestCase
{
public $user;
public function setUp():void
{
parent::setUp();
$this->user = User::factory()->create();
...
我使用的是 Lumen 默认测试,只将这一行添加到测试中:
$users = \App\Models\User::factory()->count(5)->create();
但是当 运行 测试时我得到这个错误 :
InvalidArgumentException: Unknown format "name"
我没有碰 UserFactory
Class 我把它包含在下面,我的代码有什么问题?
public function definition()
{
return [
'name' => $this->faker->name,
'email' => $this->faker->unique()->safeEmail,
];
}
取消注释 app.php
中的这些行,现在可以使用了:
$app->withFacades();
$app->withEloquent();
您必须扩展使用 Tests\TestCase 而不是 PHPUnit\Framework\TestCase。
至少,它对我有帮助。
如果其他人最终来到这里寻找 Laravel 中的类似问题,请务必包含
parent::setUp();
在你的设置方法中(如果你有的话)。例如,
class ManageDocumentTest extends TestCase
{
public $user;
public function setUp():void
{
parent::setUp();
$this->user = User::factory()->create();
...