have_titleマッチャでタイトル内容を確認する
Capybara / RSpec / Rails / Ruby
連載: Rails4+RSpec+Capybaraでよく使うマッチャ&メソッド22個+α
この連載ではRails4でCapybaraを使ったテストのやり方を順番に紹介します。
「」第回の今回はCapybaraの導入とhave_titleマッチャでのタイトル内容テストを行います。
Capybaraとは
CapybaraはWebページのテストを簡単にしてくれるツールです。
どう簡単になるかはなかなか説明が難しいのですが、この連載を読み進めてもらって簡単さを感じてもらえるといいなと思っています。がんばります。
Capybaraのインストール
いつも通りGemfileに
gem 'capybara'
を追加してbundle install
を実行すればOKです。
Capybaraでのテストコードを作る
テストコードはspec/features
以下に作るのがお決まりのようです。
例えばこんな感じでテストコードのひな形を用意します。
Capybaraでサイトにアクセスする
Capybaraではサイトにアクセスして、その内容を確認するという形でテストを行います。
まずはサイトにアクセスする必要があるのですが、それにはvisit
メソッドを使います。
例えばトップページにアクセスするのであれば
と書きます。
もし他の/about.html
などにアクセスするのであれば
と書けばOKです。
have_titleマッチャでタイトル内容を確認する
visit
メソッドでページにアクセスするとpage
メソッドでページ内容を取得できるようになるので、次はページ内容の確認をします。
have_title
マッチャでのタイトル内容確認を行うので
のようにマッチャを使います。
これでCapybaraでのタイトル内容確認はOKです。
ここまでのテストコードをまとめると
となります。
なお、scenario
はit
のエイリアスなのでit
を使っても良いのですがCapybaraでのテストコードではscenario
を使うのが通例となっています。
テストを実行する
実際にテストを実行すると
$ bundle exec rspec spec/features/view_top_page_spec.rb
view top page
should have title "江の島エンジニアBlog"
Finished in 2.29 seconds (files took 6.57 seconds to load)
1 example, 0 failures
と無事タイトル確認のテストが成功しました。
まとめ
Capybaraの導入とタイトル内容確認テストを行いました。
次回はhave_contentマッチャでのコンテンツ内容の確認をします。
関連記事
- allメソッドで要素リストを取得する(2014/10/11)
- Basic認証が必要なページをテストする(2014/10/11)
- checkメソッドでチェックボックスを選択する(2014/10/11)
- chooseメソッドでラジオボタンから要素を選択する(2014/10/11)
- click_onメソッドでボタンをクリックする(2014/10/11)
- fill_inメソッドでフォームにテキストを入力する(2014/10/11)
- find_buttonメソッドでボタン要素を取得する(2014/10/11)
- find_by_idメソッドでid要素を取得する(2014/10/11)
- find_fieldメソッドでフィールド要素を取得する(2014/10/11)
- find_linkメソッドでリンク要素を取得する(2014/10/11)
- findメソッドでオブジェクトを取得する(2014/10/11)
- have_buttonマッチャで指定したボタンを確認する(2014/10/11)
- have_checked_fieldマッチャで指定したチェックボックス/ラジオボタンを確認する(2014/10/11)
- have_contentマッチャでコンテンツ内容を確認する(2014/10/11)
- have_cssマッチャで指定したタグの内容を確認する(2014/10/11)
- have_fieldマッチャで指定した入力フィールドを確認する(2014/10/11)
- have_linkマッチャでリンク内容を確認する(2014/10/11)
- have_selectマッチャで指定したセレクトボックスの選択内容を確認する(2014/10/11)
- have_titleマッチャでタイトル内容を確認する(2014/10/11)
- have_unchecked_fieldマッチャで指定したチェックボックス/ラジオボタンを確認する(2014/10/11)
- ログインが必要なページをテストする(2014/10/11)
- find&nativeメソッドでmeta要素をテストする(2014/10/11)
- nativeメソッドでネイティブオブジェクトを取得する(2014/10/11)
- selectメソッドでセレクトボックスから要素を選択する(2014/10/11)
- uncheckメソッドでチェックボックスを選択解除する(2014/10/11)