Почему серия спецификаций терпит неудачу, когда каждая отдельная спецификация успешна?

На 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) не решает проблему, но я думаю, что это уместно.


person Galen    schedule 21.05.2013    source источник


Ответы (1)


Хотя до сих пор не уверен на 100%, что вызвало это, удаление Capybara.automatic_reload = false из тестов с помощью capybara-webkit решило проблему.

person Galen    schedule 22.05.2013