Как я могу получить теги Capybara @javascript, правильно выполняющиеся в Cucumber в проекте Rails 3? - PullRequest
1 голос
/ 15 августа 2010

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

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

Кромефункциональность @javascript, предоставляемая Capybara, все остальные функции работают нормально.

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

  • rvm 1.9.2-head
  • драгоценный камень 'rails', '3.0.0.rc'
  • драгоценный камень 'огурец'
  • драгоценный камень 'огурцы-рельсы'
  • драгоценный камень 'капибара'
  • драгоценный камень 'culerity'
  • драгоценный камень 'celerity',: require => nil

Ответы [ 4 ]

5 голосов
/ 18 августа 2010

Проблема в действительности связана с рельсами огурца и отсутствующей зависимостью от DatabaseCleaner: http://github.com/aslakhellesoy/cucumber-rails/issues#issue/36

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

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

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

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

проекта.
1 голос
/ 14 сентября 2010

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

1 голос
/ 17 августа 2010

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

чтобы мой Gemfile решил это.

1 голос
/ 15 августа 2010

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

...