这里有两个问题:
我有这个代码在用户的Facebook墙上发布:
def publish_on_facebook
if user.last_published < 1.day.ago
@graph = Koala::Facebook::API.new(user.service.token)
begin
@graph.put_wall_post("some post")
user.last_published = Time.now
user.save
rescue
user.last_published = 1.week.from_now
user.save
end
end
end
完美无缺:
如果用户授权我,它会发布并更新last_published(类型日期时间)字段。
如果用户未授权我在他的墙上发布内容,则会将last_published字段更新为1周后。
现在,当我通过我的Cucumber进行测试时,它不起作用:
当用户授权我时,last_published字段从现在起更新为1分钟,但是2天前
expected: > Sun, 03 Mar 2013 16:12:44 UTC +00:00
got: Fri, 01 Mar 2013 16:13:43 UTC +00:00
当用户未授权我时,last_published字段没有变化(我将字段的默认值设置为3月1日)
expected: > Sat, 09 Mar 2013 16:13:47 UTC +00:00
got: Fri, 01 Mar 2013 15:01:11 UTC +00:00
有什么想法吗?
答案 0 :(得分:0)
更新属性时,必须重新加载变量@user:
@user.update_attributes(attribute: value)
@user = User.find(@user)
Cucumber正在评估存储在@user中的值,这些值在方法运行后不是最新的。