我试图测试文件上传,控制器总是为$request->file('file')
返回null
这是我的测试
test('can upload file', function () {
Storage::fake('local');
$file = UploadedFile::fake()->image('avatar.jpg');
$this->post(route('admin.ajax.files.store', [
'file' => $file
]));
Storage::disk('local')->assertExists($file->hashName());
});
然后在控制器中:
public function store(Request $request)
{
dd($request->file('file'));
}
输出零
如果我看$request->file
,我看到
array:1 [
"name" => "avatar.jpg"
]
我不确定我在没有实际上传文件的情况下测试上传文件做错了什么。
您需要将数组移动到->post()
$this->post(route('admin.ajax.files.store'), [
'file' => $file
]);