ajaxで投稿してその結果を調べるみたいなテストでテストが通ったり通らなかったりする。投稿が反映される前に見に行くことがあるから。

feature "Posting a comment", js: true do
  scenario "as signed user" do
    comment_id = Comment.last.id + 1
    within("#new_comment") do
      fill_in 'comment[body]', with: 'コメントのテスト'
    end
    click_button '規約に同意してコメントする'
    sleep 1 # PLZ WAIT!! FIXME!!
    find("#comment_#{comment_id}").should have_content('コメントのテスト')
  end
end

CapybaraのREADMEにも書いてあるけどデフォルトは2秒待つようだけど5に変えたら行けた。(sleep 1は取りましたw)

# spec/spec_helper.rb:
RSpec.configure do |config| 
  Capybara.default_wait_time = 5
end

Comments


(Option)