В целом, я согласен с Марненом в том, что "просто выберите один из них, возможно, Капибара", но одной из возможных причин для их использования является постепенная миграция.
Скажем, у вас большой набор тестов ивы переносите его на Capybara, но вы хотите, чтобы некоторые из ваших старых тестов некоторое время оставались «управляемыми вебратом».
Хотя я не нашел идеального решения для этого случая,вот что я сделал:
# features/support/env.rb
...
if ENV['WITH_WEBRAT'].nil?
require 'capybara/rails'
require 'capybara/cucumber'
...
else
require 'webrat'
...
end
...
# config/cucumber.yml
...
default: --profile capybara
capybara: <% std_opts %> --tags ~@webrat features
webrat: <% std_opts %> --tags @webrat features WITH_WEBRAT=1
...
# features/webrat.feature
@webrat
...
# features/capybara.feature
...
Теперь вы можете сделать cucumber
, чтобы запустить свой набор тестов только для капибары, или cucumber -p webrat
для своих унаследованных функций Webrat.
Не идеально, ноу меня это сработало.