Лучший способ проверить ссылку - это нажать на нее, а затем убедиться, что она попала на нужную страницу. Это придаст вам больше уверенности в том, что ваше приложение не ошибается, не перенаправляет и т. Д. В исключительных случаях, когда щелкать ссылку в тесте не рекомендуется (например, если ссылка выходит за пределы сайта), я использую этот шаг:
Then I should see a link titled "foo"
Then I should see a link titled "foo" that goes to "http://www.example.org"
Then /^I should see a link titled "(.+?)"(?: that goes to "(.+)")?$/ do |title, target|
if target.blank?
page.should have_link(title)
else
page.should have_link(title, :href => target)
end
end
Если вы получили «неправильное количество аргументов (2 для 1)», обновите версию Capybara. Параметр: href => 'bar' был недавно добавлен.