Как проверить, что ссылка указывает на правильное изображение и имеет правильную цель и заголовок - PullRequest
0 голосов
/ 13 сентября 2010

Я использую капибару с огурцом в рельсах 2.3.9.

Вот мой HTML-код

<a href="http://twitter.com/dorelal" target="_blank" title="twitter">
  <img alt="twitter" src="/images/social/twitter.png?1284129939" />
</a>

Я хочу проверить следующие пункты

image should be ending with twitter.png
image alt should be "twitter"
link should have href "http://twitter.com/dorelal"
link should have target "_blank"
link should have title "twitter"

Ответы [ 2 ]

1 голос
/ 02 декабря 2010

Капибара теперь поддерживает возможность проверки href.

https://github.com/jnicklas/capybara/pull/207

0 голосов
/ 28 февраля 2011

Лучший способ проверить ссылку - это нажать на нее, а затем убедиться, что она попала на нужную страницу. Это придаст вам больше уверенности в том, что ваше приложение не ошибается, не перенаправляет и т. Д. В исключительных случаях, когда щелкать ссылку в тесте не рекомендуется (например, если ссылка выходит за пределы сайта), я использую этот шаг:

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' был недавно добавлен.

...