Make Healthy Life

最近はSQLばっかり書いてるWebエンジニアの日記です。

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

画面が見れないからどうやってデバッグしたらいいんだ〜!って思ってたけど、これでなんとかなった。
画面キャプチャを画像ファイルにして保存してくれるプラグインもあるみたいだけど、インストールで挫折した。。でもこのコマンドがあれば十分!!