После загрузки страницы у меня есть код, который запускается, скрывает и показывает различные элементы на основе данных, возвращаемых xhr.
Мой интеграционный тест выглядит примерно так:
it "should not show the blah" do
page.find('#blah').visible?.should be_true
end
Когда я вручную перехожу на страницу в контексте, в котором выполняется этот тест, #blah не виден, как я ожидаю. Я подозреваю, что Capybara смотрит на начальное состояние страницы (невидимая в данном случае), оценивает состояние DOM и проваливает тест до запуска JS.
Да, я установил :js => true
на содержащем блоке describe :)
Любые идеи будут высоко оценены! Я надеюсь, что мне не придется ставить здесь намеренную задержку, это кажется зыбким и будет замедлять работу.