Laravel 7模型工厂为fakerr抛出“ InvalidArgumentException:未知的格式化程序”异常

问题描述

我开始使用Laravel 8构建Web应用程序。我已经注意到Laravel 8中的一些变化,包括模型工厂。现在,我正在使用模型工厂编写单元测试。但是当我使用fakerr伪造字段时,会抛出错误。

这是我的测试方法。

nav#mainNav Main Menu
        .menu
            a(href="/")
                i.fa.fa-ship(aria-hidden='true')  All Ships
            br
            br
            a(href='/addreview') Add Review
            br
            br
            a(href='/topships') Top Rated Ships
            br
            br
            a(href='/bestdining') Best Dining
            br
            br
            a(href='/worstships') Lowest Rated Ships
            br
            br
            a(href='/recentreviews') Most Recent Reviews
            br
            br

如您所见,我现在要做的就是我正在尝试使用factory创建用户。这是我的用户模型工厂类。

public function testHasRoleReturnsTrue()
{
    $user = User::factory()->create();
}

如您所见,我在用造假者伪造价值。运行测试时,出现以下错误。

<?php

namespace Database\Factories;

use App\Models\User;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Foundation\Testing\WithFaker;
use Illuminate\Support\Str;

class UserFactory extends Factory
{
    /**
     * The name of the factory's corresponding model.
     *
     * @var string
     */
    protected $model = User::class;

    /**
     * Define the model's default state.
     *
     * @return array
     */
    public function definition()
    {
        return [
            'name' => $this->faker->name,'email' => $this->faker->unique()->safeEmail,'email_verified_at' => now(),'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi',// password
            'remember_token' => Str::random(10),];
    }
}

我认为该错误是因为我使用的是造假者。但是我无法在代码中发现任何问题。我的代码有什么问题,我该如何解决?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)