Я пишу модульный тест в laravel 6 для проверки загрузки файла. У меня есть форма, которая создает группу, и есть загрузка файла для обложек.
Мой модульный тест выглядит следующим образом
$this->WithoutExceptionHandling();
//login as admin
$admin = $this->signInAsAdmin();
Storage::persistentFake('public');
$attributes = [
'group_name' => $this->faker->name,
'group_description' => $this->faker->paragraph,
'group_privacy' => '0',
'group_cover' => $file = UploadedFile::fake()->image('random.jpg')
];
//create new group
$response = $this->post('/admin/groups', $attributes);
unset($attributes['group_cover']);
Storage::disk('public')->assertExists($file);
//check the data exists in database
$this->assertDatabaseHas('groups', $attributes);
//how is the uploaded file written to database
//check the data exists in database
$this->assertDatabaseHas('media', ['file_name' => $file]);
//make sure the title appears on the group list
$this->get('/admin/groups')->assertSee($attributes['group_name']);
Я получаю ошибку:
Невозможно найти файл по пути [php624B.tmp]. Не удалось подтвердить, что значение false равно true.
Я также установил в своем файле php .ini файл upload_tmp_dir
upload_tmp_dir = C: \ path_to_laravel_app \ storage \ tmp \ uploads
Похоже, происходит то, что библиотека фейера не создает временное изображение. Не имеет значения, в какую папку я установил местоположение tmp.
Буду признателен за любую помощь
Дэнни