rspec+Capybaraでビューのテストを書くときのデバッグ
rspec+Capybaraでテストを書く時、pry-debuggerを使用してる。
binding.pryを記述したところでpryコンソールが立ち上がることは以前書いた。
pry-debuggerがとても便利 - Make Healthy Life
pryコンソールが立ち上がったところでどうやってデバッグしたらいいのか、結構迷ったのでまとめておく。
まず何か変数(val)の中身を見たい時。とにかく変数名を打ち込めば中身が見れる。
[1] pry(..)> val
あとhave_content()メソッドでビューのテストもしている場合、テストでは画面が出てこないので、変数の中身がわかるだけではデバッグしようがない。
そんなときは今見ているURLを確認。なんらかの原因で違うURLを見てる場合もあるしね。
[1] pry(..)> current_url
URLは問題ないとなれば、実際にHTMLをチェック。
[1] pry(..)> page.html
か、もしくはテキストだけをチェックもできる。
[1] pry(..)> page.text
画面が見れないからどうやってデバッグしたらいいんだ〜!って思ってたけど、これでなんとかなった。
画面キャプチャを画像ファイルにして保存してくれるプラグインもあるみたいだけど、インストールで挫折した。。でもこのコマンドがあれば十分!!