我正在尝试在 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 依赖项?