у меня есть:Как отлаживать тесты огурца?
When /^(?:|I)follow "([^"]*)"(?: within "([^"]*)")?$/ do |link, selector|
with_scope(selector) do
click_link(link)
end
end
который я звонить из:
Background:
Given I am an existing admin user
When I follow "CLIENTS"
мой HTML выглядит так:
<a class="active" href="/companies"><h2>CLIENTS</h2></a>
и я получаю эту ошибку:
.F-.F--U-----U
(::) failed steps (::)
no link with title, id or text 'CLIENTS' found (Capybara::ElementNotFound)
(eval):2:in `click_link'
./features/step_definitions/web_steps.rb:54:in `block (2 levels) in <top (required)>'
./features/step_definitions/web_steps.rb:14:in `with_scope'
./features/step_definitions/web_steps.rb:53:in `/^(?:|I)follow "([^"]*)"(?: within "([^"]*)")?$/'
features/client_add.feature:8:in `When I follow "CLIENTS"'
Я попробовал несколько вещей из:
When I follow "<h2>CLIENTS</h2>"
и даже попробовал save_and_open_page
, который должен открыть браузер и все еще получить те же результаты:
Given /^I am an existing admin user$/ do
role_user = FactoryGirl.create(:role_user)
admin_user = role_user.user
sign_in(admin_user)
save_and_open_page
end
Есть ли способ, чтобы напечатать HTML или каким-то образом выяснить, почему мой тест не работает?
использовать capybara's save_and_open_page, как указано на http://berk.es/2013/01/08/make-cucumber-open-the-browser-with-the-current-page/ – deepak
также использовать pry_remote (https://github.com/Mon-Ouie/pry-remote) для отладки в тесте функции. может потребоваться сон, так что тайм-аут не произойдет в спецификации – deepak