RSpec学習メモ(everyday Rails RSpecによるRailsテスト入門 第6章)
<フィーチャースペックでUIをテストする>
モデルとコントローラが他のモデルやコントローラとうまく一緒に動作することを確認する。このようなテストをRSpecではフィーチャースペックと呼ぶ。
受入テストや、統合テストと呼ばれることもある。
---------------------------------------------------------------------------------------
<gem Capybara>
Capybaraを使用することで、リンクをクリックしたり、Webフォームを入力したり、画面の表示を検証したりすることができる。
Railsの開発環境で実行可能なジェネレータは用意されていない。
Capybaraをテスト環境にだけ追加することで、開発環境のメモリ消費を少し軽くすることができる。
Capybaraをインストールした後は、テストスイートに対してCapybaraを読み込むように伝える必要がある。
<spec/rails_helper.rb>
require ‘capybara/rspec’
これでCapybaraを使用する準備が完了する。
---------------------------------------------------------------------------------------
<フィーチャースペックの基本>
Capybaraではclick_linkやfill_in, visitといった理解しやすいメソッドが提供されていて、アプリケーションで必要な機能のシナリオを書くことができる。
フィーチャースペックでは一つのexample、もしくは一つのシナリオで複数のエクスペーションを書くことは問題ない。
---------------------------------------------------------------------------------------
<CapybaraのDSL>
CapybaraのDSLが提供しているメソッドによって、できることの幅が広がる。