有时候我真的需要检查一下数据库中的内容,
但是,如果我立即使用u = User.last进入数据库,那么AJAX请求可能无法完成,并且在User.last中 - 我会找到旧记录。
因此,我需要一些解决方法,例如,
断言has_content? '成功'做 #这里我们访问数据库 端
我们检查成功消息,哪个服务器响应,这是我们可以转到我们的数据库的标志。 我怎么能得到这个? 在此先感谢所有人。
答案 0 :(得分:0)
你不需要一块就可以做另一块。内容断言将等待内容存在,这将确认AJAX已完成,然后您可以检查用户
assert_content 'Success' # will wait for 'Success' to appear
u = User.last # won't happen until after 'Success has appeared and therefor the AJAX has completed'
另请注意使用Capybara assert_content
(而不是assert has_content? ...
)。您通常希望使用Capybara提供的断言而不是使用Capybara布尔方法的结果断言,因为失败时的错误消息将更加清晰。