gpt4 book ai didi

unit-testing - 如何在功能测试中模拟文件复制

转载 作者:行者123 更新时间:2023-12-02 04:39:09 27 4
gpt4 key购买 nike

我有一个 Controller ,其职责是将与请求一起传递的文件(通过正文 POST)复制到 web/images 下的特定路径。该路径由特定 Controller 中的属性指定。

我想做的是用功能测试来测试它,但我不希望它覆盖我项目中的文件,所以我想使用vfs 或在我的测试用例发送请求之前更改路径。

有没有一种直接的好方法可以做到这一点?

最佳答案

一种常见的方法是加载可能在不同环境之间发生变化的配置作为环境变量。 (我以前从未使用过 symfony,所以可能有一些工具可以帮助处理环境变量)

上传路径可以是

$upload_path = getenv('WEB_IMAGE_UPLOAD_PATH') ? 
getenv('WEB_IMAGE_UPLOAD_PATH') : 'web/images'

这将允许您在以集成模式启动服务器时指定临时(/tmp?)目录。


太棒了,(免责声明:我不是 php 的人)看起来 php 有 IO 流,可以帮助进行功能测试,并允许轻松清理。

http://php.net/manual/en/wrappers.php.php#refsect2-wrappers.php-unknown-unknown-unknown-unknown-unknown-descriptios

我相信您可以将“WEB_IMAGE_UPLOAD_PATH”设置为这些流之一

关于unit-testing - 如何在功能测试中模拟文件复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38943959/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com