Capybara-webkit с jruby

Я работаю над переносом наших интеграционных тестов на основе celerity в capybara-webkit. Документация, представленная на git-hub (https://github.com/thoughtbot/capybara-webkit) для capybara-webkit, была полезной, но я не могу запустить свои тесты, что заканчивается ошибкой для jruby:

NotImplementedError: вилка недоступна на этой платформе org/jruby/RubyKernel.java:1792:in `fork'

Есть ли способ заставить capybara-webkit работать с jruby?


person Monas    schedule 17.10.2011    source источник


Ответы (3)


Вы можете попробовать poltergeist, который также предоставляет безголовый драйвер webkit для капибары, но не зависит от каких-либо собственных расширений. Вместо этого он использует PhantomJS для проведения тестов. Судя по README, jruby поддерживается.

person fabi    schedule 12.04.2012

Это немного далеко, но пробовали ли вы gem 'spoon' в своем Gemfile?

person Kris    schedule 22.11.2011

Мне не удалось заставить capybara-webkit работать с JRuby. Я успешно использовал MRI для своих циклов разработки/TDD и переключился на JRuby (используя RVM), чтобы убедиться, что все по-прежнему работает. Когда я запускаю свои функции JRuby (огурец), я просто использую селен для тестирования javascript. У меня есть немного кода установки, похожего на этот в functions/support/setup.rb:

Before do
  if running_in_jruby
    Capybara.javascript_driver = :selenium
  else
    Capybara.javascript_driver = :webkit
  end
end

Это, конечно, специфично для огурца, хотя вы сможете сделать что-то подобное и с rspec. Я обнаружил, что MRI немного быстрее выполняет мои тесты из-за более быстрого времени запуска по сравнению с Java. Я буду запускать свои функции/спецификации много раз во время разработки функции, а затем, прежде чем зарегистрироваться, я переключусь на JRuby и прогоню тесты только один раз.

person Jeff Perrin    schedule 12.04.2012