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