7

私が持っているhtmlは、ルビーによって次のように生成されます:

<%= 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') }

しかし、ターゲット属性が生成されていない場合でも、テストは成功します。

4

2 に答える 2

16

以下はcapybara1.1.2で私のために働きます:

it { should have_selector("a[href='http://gravatar.com/emails'][target='_blank']") }
于 2012-11-16T12:53:30.157 に答える
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

于 2012-07-03T19:35:09.180 に答える