На Capybara 2.1.0 с Rspec 2.12.0:
Если я запускаю $ rspec spec/features/user_sees_leaderboard_spec.rb
, спецификация проходит.
Если я запускаю $ rspec spec/features/*
, тест завершается ошибкой, утверждая:
Capybara::ElementNotFound:
Unable to find css "#flash"
Если я делаю save_and_open_page
, #flash присутствует и виден.
Вот помощник, в котором происходит сбой:
def sign_in_as(user)
visit new_user_session_path
fill_in "Email", with: user.email
fill_in "Password", with: user.password
click_button "Sign In"
flash = find("#flash")
flash.should have_content "You are now signed in."
end
Есть идеи? Я новичок в Capybara, поэтому не знаю, с чего начать. Спасибо!
РЕДАКТИРОВАТЬ/ОБНОВИТЬ:
Выполнив save_and_open_page
для набора спецификаций, которые терпят неудачу при совместном запуске, я смог увидеть ряд успешных результатов, за которыми последовал ряд страниц, не говорящих ничего, кроме «Не найдено» в теге body. Гугл ничего не выдал — мысли?
ОБНОВЛЕНИЕ №2
Я заметил, что содержимое «Не найдено» в BODY началось сразу после спецификации, которая использовала capybara-webkit для запуска javascript. Даже явный сброс Capybara.current_driver = :rack_test в блоке after(:all) не решает проблему, но я думаю, что это уместно.