【发布时间】:2019-10-27 14:09:47
【问题描述】:
我想测试我的文件上传操作。
我检查了该操作的文件类型验证。它通过浏览器交互工作,但我尝试使用 phpunit 验证失败。
我确认只接受 jpg 或 jpeg 文件。
这是我的单位代码
public function testWIthJpgImage()
{
$_FILES = [
'front_image' => [
'name' => 'uitest',
'type' => 'image/jpeg',
'size'=> filesize(storage_path('data/uitest.jpg')),
'error' => 0,
'tmp_name' => storage_path('data/uitest.jpg')
]
];
$response = $this->call('POST', '/api/test',[],[],$_FILES);
$data = json_decode($response->getContent());
dd($data); // here validation fail always
$this->assertEquals(200, $response->getStatusCode());
}
如何在 phpunit 上正确测试文件上传?我的 laravel 5.0 版(旧版) Laravel UploadFile 不可用
【问题讨论】:
-
enctype/multipart 我认为在来自测试环境的通话后,这是缺失的
-
我应该如何添加该内容类型
-
我认为您正在使用框架,为什么不使用 Log 外观并检查 Log 中存在的内容?
-
不,我认为这不是抛出错误!这是需要解决 phpunit 文件上传请求(测试模式)的问题,因为控制器会对其进行验证并照常返回...