我正在使用第三方API来管理我上传的图片,我用自己的类抽象了这个API,还编写了测试文件上传的类,但每次运行测试时文件都会上传到网页上,我想防止这种情况,并使用mock来测试是否正在调用上传函数。
我该怎么做?
答案 0 :(得分:1)
这就是我的工作。
我创建一个UploadedFile isntance(模拟上传的文件)并将其传递给我的服务类 - 这是我测试处理文件上传的服务类的方法。
如果您想测试Controller方法,我建议您使用验收测试并使用真实的浏览器发送请求。我找不到一个像样的方法。
//Mock a uploaded file
$uploadedFile = new UploadedFile(codecept_data_dir().'/attachments/temporary/' . $filename, $filename, $mimeType, $size);
您需要use \Symfony\Component\HttpFoundation\File\UploadedFile;
在最前面。