【问题标题】:Capybara test and ajax form createCapybara 测试和 ajax 表单创建
【发布时间】:2013-07-25 05:56:15
【问题描述】:

我有这个测试用例:

it 'should create new request from ajax form', js: true do
  visit root_path
  click_on 'new-order-link'
  expect {
    click_on 'submit-request'
  }.to change(Request, :count)
end

但我收到消息,计数没有改变。我想,异步的问题。当我在 click_on 调用后添加 sleep(3) 时,一切正常,测试通过。但这听起来很糟糕,我应该在每个使用 ajax 的测试用例中添加睡眠调用。

【问题讨论】:

标签: ruby-on-rails rspec capybara


【解决方案1】:

尝试使用wait_until {检查ajax完成后显示的某些元素}。这将等到 ajax 完成,您可以继续检查其他内容。

编辑:我在 capybara 2.0 中看到此方法将被弃用。有关更多信息以及如何在 capybara 2.0 中进行测试,请点击此处https://groups.google.com/forum/#!topic/ruby-capybara/qQYWpQb9FzY

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-18
    相关资源
    最近更新 更多