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();
...