LoginSignup
0
0

More than 1 year has passed since last update.

画面に表示される要素の個数の検証方法[RSpec, Capybara]

Posted at

いつもお世話になっている以下のページに要素の検証方法についての記載がなかったので、ここに記録しておこうと思います。
( いつも本当にお世話になっています!! )

結論

rspec/*/**_spec.rb
expect(page.all("input.btn__works").count).to eq 2
app/views/**/*.html.erb
<ul class="user--works__types">
  <li>
    <%= form_tag(url_for(action: 'my_works'), remote: true) do %>
      <%= submit_tag "作品一覧", class: "btn__works" %>
    <% end %>
  </li>
  <li>
    <%= form_tag(url_for(action: 'favorites'), remote: true) do %>
      <%= submit_tag "お気に入り", class: "btn__works user--works__now" %>
    <% end %>
  </li>
</ul>

余談

このコードには2という数値をハードコーディングしている問題点が残ります。
また、参考記事にもこの記載が乗っていないということは、実際にはよくないテスト方法なのかもしれません。

ただこのコードを書いてみて感じたことは、countという配列を引数にとるメソッドを利用している事から、「rspecではhtmlを要素を配列してまとめることで捉えている」、という学び(仮説?)を得ました。
学習不足で正しくはないかもしれませんが、イメージとしてはそのような使い方を予想しました。

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0