在 POST returns 之后查询 Nil 除非跟随 expect(page)
Query after POST returns Nil unless following expect(page)
提交 POST 后,我检查数据库以查看它是否已存储。
feature 'foo' do
scenario 'bar', :js => true do
navigate_to_form
within '.form-class' do
fill_form
click_on 'Save'
end
...
如果我在提交后立即执行检查,它 returns 查询为零。
expect(ModelName.last.attribute).to eq("attribute_value")
=> undefined method 'attribute' for nil:NilClass
如果我在页面之后执行它(预期)它 returns 适当的对象。
expect(page).to have_text('text_on_page')
expect(ModelName.last.attribute).to eq("attribute_value")
=>true
服务器 运行 在一个单独的线程中。由于 click on 'Save'
不等待响应,当您立即检查数据库时,服务器还没有机会完成它的工作。当您等待文本出现时,您就知道服务器更新已完成。
提交 POST 后,我检查数据库以查看它是否已存储。
feature 'foo' do
scenario 'bar', :js => true do
navigate_to_form
within '.form-class' do
fill_form
click_on 'Save'
end
...
如果我在提交后立即执行检查,它 returns 查询为零。
expect(ModelName.last.attribute).to eq("attribute_value")
=> undefined method 'attribute' for nil:NilClass
如果我在页面之后执行它(预期)它 returns 适当的对象。
expect(page).to have_text('text_on_page')
expect(ModelName.last.attribute).to eq("attribute_value")
=>true
服务器 运行 在一个单独的线程中。由于 click on 'Save'
不等待响应,当您立即检查数据库时,服务器还没有机会完成它的工作。当您等待文本出现时,您就知道服务器更新已完成。