Laravel工厂无法创建,因为已经有一个
我想在测试用例中使用factory创建,但是我得到了一个验证错误,它说名称已经被使用了。但是怎么做呢?它总是在每次测试开始运行时刷新数据库 工厂Laravel工厂无法创建,因为已经有一个,laravel,testing,Laravel,Testing,我想在测试用例中使用factory创建,但是我得到了一个验证错误,它说名称已经被使用了。但是怎么做呢?它总是在每次测试开始运行时刷新数据库 工厂 $factory->define(Companies::class, function (Faker $faker) { return [ 'name' => $faker->unique()->company, 'email' => $faker->email,
$factory->define(Companies::class, function (Faker $faker) {
return [
'name' => $faker->unique()->company,
'email' => $faker->email,
'website' => $faker->url,
];
});
测试
Storage::fake('local');
$image = UploadedFile::fake()->image('avatar.jpg', 150, 150);
$companies = factory(Companies::class)->create([
'logo' => $image
]);
$company = $companies->toArray();
$this->actingAs($this->user);
$response = $this->postJson('/home/companies/create/add', $company);
$response->assertStatus(302);
我建议在测试中使用trait refresh数据库,然后在每次测试后重置数据库以避免副作用 在测试类的顶部写下: 使用数据库
祝您好运do
composer dump autoload
与我上一个问题所说的相同的验证错误,您不应该使用工厂作为输入,您不能将上载的文件保存在公司工厂中并期望它工作。