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>

CapybaraDSLが提供しているメソッドによって、できることの幅が広がる。