Rspec / Rails4,对象属性更新不会持久存在于控制器规范中?

时间:2016-08-11 19:39:26

标签: ruby-on-rails rspec

我的控制器操作在开发环境中完成了我想要的操作,当我使用byebug在测试环境中执行该过程时 - 操作执行我想要的操作,但我正在通过{{1}更新属性在控制器动作中 - 当我返回到我的规范时,它不会持续存在。请查看我在下面尝试的内容。

控制器动作: 如上所述,此操作实际上确实按预期更新了事件列。

 'pixel' : Image.open(settings.MEDIA_ROOT + main_request.request_unique_id 
+ "/"+ media_file.filename).size if ("JPG" in media_file.filename.upper()) 
or ("TIF"  in media_file.filename.upper())  else '0, 0'}

规范:在返回规范后,在发布请求之后,更新的列没有保留。 I.E,event.driver_id列仍设置为subject.current_user.id。

update_column

我不确定我在这里失踪了什么..

1 个答案:

答案 0 :(得分:1)

如果您想检查更改,则需要来自数据库的reload条记录:

events.map(&:reload)

虽然为了简单起见,我会选择以下内容:

expect(Event.where(driver_id: nil).count).to eq 2