所以我有一个回形针,Amazon S3的设置,我正在使用RSPEC进行测试,试图删除User.avatar对象。
我的删除方法是:
@user.avatar.clear
@user.avatar.destroy
@user.avatar = nil
@user.save
是的,我意识到我基本上有 3 种删除方法。但这是我的观点 - 当我跑步时
@user.avatar
它仍然返回
=> #<Paperclip::Attachment ...@name=
我正在尝试编写一个测试,在其中删除附件,并且我的预期块期望@user.avatar = nil。但是,它没有得到 = 到零。
我应该如何测试头像的删除?
您可以使用Paperclip::Atachment#exists?
方法
您可以像这样在测试上编写断言:
expect(user.avatar.exists?).to be(false)
正如@Manuel所说,您必须使用此代码删除avatar
后使用expect(@user.avatar.exists?).to be(false)
@user.avatar = nil
@user.save
调用@user.avatar
时将始终返回回形针类的默认Hash
,因此您必须通过特定方法检查可呈现性 如:Paperclip::Atachment#exists?
或@user.avatar.nil?
或@user.avatar.present?
等
希望对您有所帮助。