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