Хотя я не знаю самых глубоких деталей того, как это работает. Но я делаю достаточно, чтобы дать вам некоторую перспективу.
Cucumber - это фреймворк для приемочного тестирования в рубине, он позволяет писать приемку на простом английском языке. Теперь в целом он находится поверх Webrat или Capybara, которые обеспечивают его истинную силу, то есть тестирование с имитацией браузера или с помощью автоматического браузера.
Capybara или Webrat упрощают запуск приемочных тестов. Capybara упрощает использование различных драйверов для запуска приемочных испытаний. Драйверы, т. Е. Selenium, стойкость или испытание в стойке. В ванильном случае, rack-test используется для симулированного тестирования браузера.
Rack-Test сам отвечает за создание сеанса, в котором вы выполняете свои тесты, определения шагов и т. Д. Были созданы capybara. Таким образом, в основном не существует сервера, на котором выполняется просто сеанс (если быть точным, mock-сеанс), созданный с помощью rack-test. Capybara теперь предоставляет методы поиска, сопоставления и т. Д. Поверх этого сеанса, созданного драйвером (тестирование в стойке или другое), чтобы помочь вам создать свои собственные определения шагов.
Cucumber запускает шаги, то есть искатели / сопоставители и т. Д. В них, во время сеанса и ваших тестов.