У меня была такая же потребность (Watir + RSpec), но проблема в том, что во время тестов по умолчанию не работает стек Rack ...
Я нашел это решение:
Вspec_helper.rb
:
HTTP_PORT = 4000
test_instance_pid = fork do
exec 'unicorn_rails -E test -p %d' % HTTP_PORT
end
at_exit do
Process.kill "INT", test_instance_pid
Process.wait
end
, которые запускают тестовый стек один раз для всех тестов спецификаций и убивают его в конце. (В этом примере я использую единорога, но мы можем представить себе использование любого другого сервера)
В спецификации я повторно использую константу HTTP_PORT
для построения URL:
browser.goto "http://localhost:#{HTTP_PORT}/"