りゅうじの学習blog

学習したことをアウトプットしていきます。

新しく学んだRSpecの書き方のメモ

新しく学んだRSpecの書き方

アイキャッチ画像の横幅を100~700pxに指定した場合

システムスペックでcapibara使用

#systemspec内

略
eyecatch_width = rand(100..700)
fill_in 'article_eyecatch_width', with: eyecatch_width
略

先に横幅100~700のランダムな値をeyecatch_width 代入しておいて、fill_inで選択します。

そして

#systemspec内

expect(page).to have_css('.eye_catch'), 'プレビューページにeye_catchというclassが存在しません'

これでeyecatch_width が100~700pxの画像が表示されているかのテストができます。

ラジオボタンの選択

こんなラジオボタンがあった場合

#systemspec内

略
choose '中央揃え'
略

これで中央揃えを選択できます。

そして

#systemspec内

expect(page).to have_selector('section.eye_catch.text-center'), 'アイキャッチが「中央」で表示されていません'

これでテストができます。

RSpecの書き方は私は未だに不慣れなので、新しく学んだものは、今回のように記事にして書くことをしていきます。

最後に

読んでいただいた方、ありがとうございました。