我拥有的html是由ruby生成的:
<%= link_to "change", "http://gravatar.com/emails" %>
导致:
<a href="http://gravatar.com/emails">change</a>
但我想确保链接在带有
的新标签页中打开target="blank"
属性
rspec测试看起来像:
it { should have_link('change', href: 'http://gravatar.com/emails', target: '_blank') }
但是当我没有生成目标属性时,测试仍然通过。
答案 0 :(得分:16)
以下适用于capybara 1.1.2:
it { should have_selector("a[href='http://gravatar.com/emails'][target='_blank']") }
答案 1 :(得分:0)
我正在使用have_selector来处理每个属性:
should have_selector('a',
:href => 'http://gravatar.com/emails',
:target => '_blank',
:content => 'change'
)
我认为你需要水豚来拥有那个匹配者http://rubydoc.info/github/jnicklas/capybara/Capybara/RSpecMatchers/HaveSelector