Я использую Ruby on Rails 3.2.2, cucumber-rails-1.3.0, rspec-rails-2.8.1 и capybara-1.1.2 с драйвером Selenium. У меня проблема с параллелизмом при запуске сценариев JavaScript (предполагается, что мой случай связан с проблемой параллелизма).
В моем .feature
файле у меня есть:
Feature: ...
...
@javascript
Scenario: ...
Given ...
When I log out
Then I should be redirected to the home page
В моем определении шага .rb
у меня есть файл:
Then /^I should be redirected to the home page$/ do
current_path.should == root_path
end
Когда я запускаю командную строку cucumber
в окне терминала, чтобы запустить тесты, я получаю эту ошибку:
$ cucumber
Using the default profile...
Feature: ...
...
@javascript
Scenario: ...
...
When I log out
Then I should be redirected to the home page
expected: "/"
got: "/user" (using ==) (RSpec::Expectations::ExpectationNotMetError)
...
Однако, если в моем определении шага .rb
file я использую
Then /^I should be redirected to the home page$/ do
sleep(1)
current_path.should == root_path
end
работает как положено: все тесты пройдены.
Итак, даже если проблема кажется решенной, есть лучший способ решить мою проблему? если да, то каково «правильное» / «часто используемое» решение (возможно, с использованием некоторого API-интерфейса Capybara) ?