水豚has_content?堵塞
Capybara has_content? block
有时我真的需要在数据库中检查一些东西,
但是,如果我立即使用 u = User.last 访问数据库,则 AJAX 请求有可能无法完成,并且在 User.last 中 - 我会找到旧记录。
因此,为此我需要一些解决方法,例如,
断言has_content? 'Success' 做
# 这里我们访问数据库
结束
我们检查成功消息,哪个服务器响应,这是我们可以转到我们的数据库的标志。
我怎样才能做到这一点?
提前谢谢大家。
你不需要一个块来完成这个,只需要一个然后另一个。内容断言将等待内容存在,这将确认 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'
另请注意使用提供的水豚 assert_content
(而不是 assert has_content? ...
)。您通常更喜欢使用 Capybara 提供的断言,而不是对 Capybara 布尔方法的结果进行断言,因为失败时的错误消息会更加清晰。
有时我真的需要在数据库中检查一些东西,
但是,如果我立即使用 u = User.last 访问数据库,则 AJAX 请求有可能无法完成,并且在 User.last 中 - 我会找到旧记录。
因此,为此我需要一些解决方法,例如,
断言has_content? 'Success' 做 # 这里我们访问数据库 结束
我们检查成功消息,哪个服务器响应,这是我们可以转到我们的数据库的标志。 我怎样才能做到这一点? 提前谢谢大家。
你不需要一个块来完成这个,只需要一个然后另一个。内容断言将等待内容存在,这将确认 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'
另请注意使用提供的水豚 assert_content
(而不是 assert has_content? ...
)。您通常更喜欢使用 Capybara 提供的断言,而不是对 Capybara 布尔方法的结果进行断言,因为失败时的错误消息会更加清晰。