Файл, созданный в ходе тестирования, не загружается в общую папку по умолчанию с использованием метода перемещения в Laravel 5.7. - PullRequest
0 голосов
/ 28 января 2019

Я пытаюсь создать тест в laravel 5.7, который включает создание поддельного объекта изображения, который затем используется службой, которая перемещает его в нужный каталог в общей папке.Мой сервис работает нормально, если я загружаю файл через браузер, но если я запускаю тесты, он создает папку в корневом каталоге и загружает туда изображение.

Сервисный код:

$data['icon'] = time().'.'.$file->getClientOriginalExtension();
$file->move('uploads/avatar/icon', $data['icon']);

Код тестового файла:

$file = UploadedFile::fake()->image('random.jpg');

Теперь, если я указываю путь в служебном коде, он дает желаемый результат

$data['icon'] = time().'.'.$file->getClientOriginalExtension();
$file->move(public_path('uploads/avatar/icon'), $data['icon']);

Есть ли способ без жесткого кодирования зависимости public_path?

1 Ответ

0 голосов
/ 28 января 2019

Похоже, вы используете другой диск с файловой системой, который имеет другой корневой путь в вашей среде тестирования.Я рекомендую настроить файл .env.testing.

...