相关疑难解决方法(0)

如何在Laravel 5.2中测试文件上传

我试图测试上传API,但每次都失败:

测试代码:

$JSONResponse = $this->call('POST', '/upload', [], [], [
    'photo' => new UploadedFile(base_path('public/uploads/test') . '/34610974.jpg', '34610974.jpg')
]);

$this->assertResponseOk();
$this->seeJsonStructure(['name']);

$response = json_decode($JSONResponse);
$this->assertTrue(file_exists(base_path('public/uploads') . '/' . $response['name']));
Run Code Online (Sandbox Code Playgroud)

文件路径是/public/uploads/test/34610974.jpg

这是控制器中的My Upload代码:

$this->validate($request, [
    'photo' => 'bail|required|image|max:1024'
]);

$name = 'adummyname' . '.' . $request->file('photo')->getClientOriginalExtension();

$request->file('photo')->move('/uploads', $name);

return response()->json(['name' => $name]);
Run Code Online (Sandbox Code Playgroud)

我应该如何在Laravel 5.2中测试文件上传?如何使用call方法上传文件?

php testing upload unit-testing laravel

35
推荐指数
2
解决办法
2万
查看次数

标签 统计

laravel ×1

php ×1

testing ×1

unit-testing ×1

upload ×1