【发布时间】:2017-09-20 19:04:36
【问题描述】:
这是我的功能
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].
我该如何解决这个问题?
【问题讨论】:
-
您在
database/factories/ModelFactory.php文件中是否有带有App\Data::class的条目? -
这是我的模式工厂 $factory->define(App\User::class, function (Faker\Generator $faker) { return [ 'email' => $faker->email, 'password' => bcrypt(str_random(10)), 'remember_token' => str_random(10), ]; });
-
这就是你的错误。你应该有另一个代码块,比如
$factory->define(App\Data::class, function(Faker\Generator $faker) {...})
标签: php laravel unit-testing laravel-5 laravel-5.1