IT技術にまつわる実験ノート

「長編を書くより、短編を数多く完成させてください。それが上達への近道です」 by 手塚治虫

Capybara の page とは何なのか

Capybara で唐突に出てきた page 。なんだこれは…。

page の値を出力してみる。

f:id:matt-note:20190314003513p:plain

f:id:matt-note:20190314003537p:plain

-> page は Capybara::Session オブジェクトであると出力された。

 

Capybara::Session の説明は、ユーザーの操作を表現したクラスとのこと。

f:id:matt-note:20190314005634p:plain

f:id:matt-note:20190314010245p:plain

f:id:matt-note:20181018201059p:plain

 

というわけで、page 変数には Capybara::Session オブジェクトが格納されていて、このオブジェクトに対してマッチャなどで操作を実行するとのこと。

 

have_content メソッドを調べてみる。have_content メソッドは RSpec マッチャとのこと。結局、内容のテスト部分は have_content メソッドで行って、それ以外のユーザーの操作をシミュレーションする部分を Capybara が行っていると考えるのが良いのかも。

f:id:matt-note:20190314011320p:plain

 

page 変数を it メソッドの外で出力してみる。

f:id:matt-note:20190314005744p:plain

f:id:matt-note:20190314011731p:plain

-> page 変数は it ブロックの中でだけ利用します、とエラーが出た。わかりやすい。