Когда я использую метод visit
в определениях шагов Cucumber, а затем запускаю шаг через драйвер Selenium Capybara, он пропускается, несмотря на то, что контроллер не реализован.
Вот пример:
Функция
# features/one.feature
Feature: One
@selenium
Scenario: One
Given I visit the example page
Определение шага
# features/step_definitions/example_steps.rb
Given /^I visit the example page$/ do
visit example_path
end
Маршрут
# config/routes.rb
Example::Application.routes.draw do
resource :example
end
Контроллер
не реализовано
Результат
Feature: One
@selenium
Scenario: One
Given I visit the example page
1 scenario (1 passed)
1 step (1 passed)
0m18.162s
Однако, когда я использую драйвер RackTest, все работает так, как ожидалось, и исключение маршрутизации возрастает, если не реализован контроллер.
Вот тот же пример, но с использованием RackTest:
Feature
# features/one.feature
Feature: One
@rack_test
Scenario: One
Given I visit the example page
Результат
Feature: One
@rack_test
Scenario: One
Given I visit the example page
uninitialized constant ExamplesController (ActionController::RoutingError)
./features/step_definitions/example_steps.rb:2:in `/^I visit the example page$/'
features/one.feature:5:in `Given I visit the example page'
Failing Scenarios:
cucumber features/one.feature:4 # Scenario: One
1 scenario (1 failed)
1 step (1 failed)
Как заставить Capybara вызвать ошибку маршрутизации при использовании драйвера Selenium?
Спасибо.
Ruby 1.9.2;
Ruby on Rails 3.1.0.rc1;
огурец 0.10.3;
огурцы-рельсы 0,5,0;
Капибара 1.0.0.beta1;
Selenium-webdriver 0.2.0.