我编写了一个带有单元测试的函数,以使用 PHP 下载图像
// ...
if (!copy($url, $imagePath)) {
return null;
}
// ...
它在本地工作,但在Bitbucket Pipelines中,单元测试失败。无法下载文件(在存储中找不到文件)。
它可能已被故意禁用。所以我只想在copy()
可以下载外部文件的情况下运行这个单元测试。
我试过这个但没有奏效:
public function test_downloadImage()
{
if (!ini_get('allow_url_fopen') || in_array('copy', explode(',', ini_get('disable_functions')))) {
return;
}
// download the image...
// assert file exists...
}
如何测试是否copy()
可以下载外部文件?
谢谢你。
问题解决了
对此感到抱歉,但问题不是来自 PHP copy()
。
它试图将图像下载到不存在的目录。事实上,我忘了设置Laravel Public 目录符号链接。它已经在我的电脑上设置好了。