为活动存储映像附件创建测试装置非常费力,但却是可行的:
https://stackoverflow.com/a/55835955/312681
如果您在测试中使用原始图像,这是非常好的,但在我们的示例中,我们使用variants来提供优化版本。
我想为图像variant创建测试夹具,而不是原始文件,这样变体就已经存在,而不是由第一次请求创建的。有什么想法吗?
为活动存储映像附件创建测试装置非常费力,但却是可行的:
https://stackoverflow.com/a/55835955/312681
如果您在测试中使用原始图像,这是非常好的,但在我们的示例中,我们使用variants来提供优化版本。
我想为图像variant创建测试夹具,而不是原始文件,这样变体就已经存在,而不是由第一次请求创建的。有什么想法吗?
1条答案
按热度按时间csbfibhn1#
所以我也被这个问题绊倒了几个小时,以为这个问题是minitest的一个功能没有正确地stubping activesupport附件,然而,经过进一步的调查,我意识到这个问题源于我没有正确地设置我的fixture。
帮助我认识到测试变体是我的blob没有附加的一个症状的一个关键因素是,当我运行
[model].[attachment].attached?
时,它将返回false。下面的SO帖子让我走上了自由之路:Rails 7 ActiveStorage file attachment fixture does not like to attachment
在我的例子中,我没有正确设置我的attachments.yml。结果,
Blob#variants
被nil
值调用,测试以失败告终。只是为了重复链接的SO帖子所说的,当设置您的attachments.yml时,以下配置必须为真:1.名称必须与附件在模型中的调用方式匹配
1.记录必须与现有模型夹具匹配
一旦我的attachments.yml文件配置正确,对
Blob#variant
的调用就顺利通过了。