Как я могу получить теги Capybara @Javascript правильно выполненные в огурцерете на рельсы 3 проекта?

StackOverflow https://stackoverflow.com/questions/3486237

Вопрос

Я поменял Webrat для Capybara на новых рельсах 3 проекта. Я побежал через большой пост Тима Райли на нем здесь ( http://openmonkey.com/articles/2010/04/javascript-testing-with-cucumber-capybara ), а также клонировал свой репозиторий, выполнил примерную функцию огурца и увидел окно браузера открытым. Таким образом, весь огурец, капятбара, стек селена, кажется, работает нормально в этом случае.

Однако, если я создаю новые рельсы 3 проекта, пройдите через настройку аналогичного примера проекта, и аннотировать сценарий с помощью @JavaScript окно браузера не огонь, а сценарий огурца просто терпит неудачу с обычным Command failed with status (1) event (который, в случае сбоя или в ожидании шагов, огурцы триггеры по дизайну в пользу инструментов CI).

Помимо функциональности @Javascript, предоставленной Capybara, все другие функции работают нормально.

Я упускаю что-то невероятно очевидное? Есть ли путь для новичка BDD, чтобы выглядеть глубже в проблемах (трассировка стека просто показывает стандартную ошибку граблей, когда огурец не удается).

  • RVM 1.9.2-Head
  • GEM 'Rails', '3.0.0.rc'
  • GEM 'Огурец
  • Gem 'Cucumber-Rails'
  • GEM 'CAPYBARA'
  • GEM 'COULERITY'
  • Celerity Gem,: Требуется => Ниль
Это было полезно?

Решение

Вопрос на самом деле с огурцовыми рельсами и отсутствующей зависимостью на баз данныхCleaner: http://github.com/aslakhellesoy/cucumbumber-rails/issuesoSue/36.

Проблема проявляется при добавлении тега @javascript на функцию огурца. По умолчанию варианты огурца подавляют предупреждения, которые предупредили бы меня к факту. По обновлению config/cucumber.yml к:

std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} --strict --tags ~@wip"

Ошибка отображается при запуске огурца: uninitialized constant DatabaseCleaner (NameError)

Быстрое исправление в этом случае для добавления gem 'database_cleaner' к проекту Gemfile.

Другие советы

Capybara «ленивый» в том, что он откроет окно браузера сначала, когда он на самом деле необходим. Если вы на самом деле делаете что-то, что потребуется браузера, Capybara не откроется.

Может быть, вы не установили мольгрел-драгоценный камень. Автоматизация браузера как-то не работает с Webrick, и я испытал то же самое тихое, что вы не можете описать здесь.

Добавление

GEM 'MONGREL', '> = 1.2.0.beta.1'

на мой драгоценный камень решил его.

Я сделал пример приложения о том, как настроить: github.com/lailsonbm/contact_manager_app/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top