Версия Laravel: 5.5
Версия PHP: 7.1
Драйвер базы данных: mysql
У меня сейчас проблема с модульным тестированием, в основном проблема в движении () функция внутри моего контроллера, когда эта функция запускает программу говорит, что файл используется моей другой программой.и выбросить это исключение
Не удалось переместить файл "C: \ Users \ JUAN ANTONIO \ AppData \ Local \ Temp \ phpED45.tmp" в "uploads / partners \ 15517582682740.jpg" (rename (C: \ Users \ JUAN ANTONIO \ AppData \ Local \ Temp \ phpED45.tmp, uploads / partners \ 15517582682740.jpg): процессу не удается получить доступ к файлу, поскольку он используется другим процессом. (Код: 32)) "
вот фрагмент моего кода:
PartnerTest.php-> testStorePartner ()
/** @test */
public function testStorePartner(){
Storage::fake('local');
//1. Create Data
$data = [
'name' => 'test',
'file' => UploadedFile::fake()->image('avatar.jpg')
];
//2. Store Data
$response = $this->actingAs($this->user)->json('POST', route('PartnersStore'), $data);
//3. Data Stored In Database
$this->assertDatabaseHas('partners', ['name' => 'test',]);
//4. Test response status 302 -> redirect
$response->assertStatus(302);
}
PartnerController-> store (Запрос $ request)
public function store(Request $request)
{
$this->validate($request, [
'file' => 'mimes:png,jpeg,jpg,gif|max:3000'
]);
// Start of Upload Files
$formFileName = "file";
$fileName = "";
if ($request->$formFileName != "") {
$fileName = time() . rand(1111,
9999) . '.' . $request->file($formFileName)->getClientOriginalExtension();
$path = $this->getUploadPath();
$request->file($formFileName)->move($path, $fileName);
}
// End of Upload Files
$Partner = new Partner;
$Partner->name = $request->name;
$Partner->file = $fileName;
$Partner->status = 1;
$Partner->created_by = Auth::user()->id;
$Partner->save();
return redirect('/admin/partners')->with('doneMessage', trans('backLang.addDone'));
}
filesystem.php
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
's3' => [
'driver' => 's3',
'key' => env('AWS_KEY'),
'secret' => env('AWS_SECRET'),
'region' => env('AWS_REGION'),
'bucket' => env('AWS_BUCKET'),
],
],