1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

RSpecでimgタグのオプションをテストする(alt, srcなど)

Posted at

前提条件

以下がユーザーのアバター画像を表示させるヘルパーメソッドである

application_helper.rb画像を表示させるヘルパーメソッド
def display_avatar_for(user, size: Settings.avatar_size[:in_feed])
  resize = "#{size}x#{size}^"
  crop = "#{size}x#{size}+0+0"
  avatar = user.avatar
  image_tag(avatar.variant(gravity: :center, resize: resize, crop: crop).processed, alt: "#{user.username}", class: "avatar")
end
実際に生成されるHTMLのimgタグ
<img alt="Test_User" class="avatar" src="http://localhost:3000/rails/active_storage/representations/redirect/ey..44/ava0.jpg">

これに基づき、imgタグのalt属性をチェックすることで、意図した内容が表示されているか確認する。

結論(alt属性

spec/system/**_spec.rb
let(:user) { create(:user) }
:
expect(page).to have_selector "img[alt='#{user.username}']"

以上で確認が可能である。

その他(src属性

また、src属性を確認する場合は、以下のように記述できる。

spec/system/**_spec.rb
let(:filename) { "ava0.jpg" }
:
expect(page).to have_selector "img[src$='#{filename}']"

src$=~~$により、~~が含まれるかどうか、を確認してくれる。(曖昧検索のように…)
よって上で生成されたimgタグでも反応してくれる様になる、という話でした。

以上です!記事に目を通してくださりありがとうございました!!!

1
1
0

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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?