InvalidArgumentException:无法找到名称为[factory] ​​[App \ Routedata]的工厂

时间:2017-04-24 07:38:24

标签: php laravel unit-testing laravel-5 laravel-5.1

这是我的功能

public function create($alias, $profileId)
    {
        $this->setClientAndClientProfile($alias, $profileId);

        return view('client.data.map')->with('client', $this->client)->with('clientProfile', $this->clientProfile);
    }

这是我写的测试

public function createTest()
    {
        $this->Data = factory(App\Data::class)->create([
            'id' => '1',
            'client' => 'first',
            ' name' => 'name1',
            'Status' => ''

        ]);
       $this->be($this->$RouteForecast);
       $this->visit('/backend/data')

        ->seePageIs('/backend/data');

    }

当我跑步时我得到了这个错误

InvalidArgumentException: Unable to locate factory with name [default] [App\Data].

我怎么能解决这个问题?

1 个答案:

答案 0 :(得分:0)

在我的案例中是:

phpunit --version PHPUnit 3.7.21 by Sebastian Bergmann.

我在laravel 5.5中遇到了这个问题。但在我的composer.json中它是6.4。这意味着我有一个旧版本的phpunit路径。它是在Xampp / php / phpunit文件中。 Laravel的phpunit是'vendor / bin / phpunit'。所以我尝试了这个:

C:\xampp\htdocs\www\blog\vendor\bin\phpunit --version
PHPUnit 6.4.3 by Sebastian Bergmann and contributors.

瞧!