如何用rspec测试html属性?

not*_*shi 7 html rspec ruby-on-rails-3

我拥有的HTML是由ruby生成的:

<%= link_to "change", "http://gravatar.com/emails" %>
Run Code Online (Sandbox Code Playgroud)

这导致:

<a href="http://gravatar.com/emails">change</a>
Run Code Online (Sandbox Code Playgroud)

但我想确保链接在新标签页中打开

target="blank"
Run Code Online (Sandbox Code Playgroud)

属性

rspec测试看起来像:

it { should have_link('change', href: 'http://gravatar.com/emails', target: '_blank') }
Run Code Online (Sandbox Code Playgroud)

但是当我没有生成目标属性时,测试仍然通过.

小智 16

以下适用于capybara 1.1.2:

it { should have_selector("a[href='http://gravatar.com/emails'][target='_blank']") }
Run Code Online (Sandbox Code Playgroud)