我试图在Symfony中使用PHPUnit来测试一个返回调整大小的图像的方法。理想情况下,我可以在image对象中模拟并设置一些大小,然后看看返回时大小是否改变。
代码使用Imagick并解码图像,我想知道这是否意味着我将被迫在服务器上保留测试图像进行单元测试?有没有一种方法可以在代码中模拟图像文件?
$based = base64_decode($content);
if($based){
$content = $based;
}
$imagick = new \Imagick();
$imagick->readImageBlob($content);
字符串
如果文件被存储在服务器上用于测试,我如何模拟一个请求对象来包含该文件?
2条答案
按热度按时间ffx8fchx1#
最好的方法是模仿Imagick,然后通过
readImage
方法添加文件。下面是一个例子:字符串
现在测试:
型
wnvonmuf2#
我设法找到了将文件传递给Imagick的正确方法。它需要用
base64_encode
Packagefile_get_contents
字符串