【RSpec】RSpecのdebugを✅
面接対策動画に思っていた数倍苦戦している23期ユーザーのリテンション対策中です。
宣伝
ZEROKENをリリースいたしました!
サイトURL
簡単にお酒の強さを測る事ができて、アルハラを予防する事ができるアプリになります!
自分に合ったお酒の飲み方の順番を見つけて自分のペースで飲み会を乗り切ってください!
Javascriptだったらconsole.logやdebugger、rubyであればbinding.pryを使って変数に何が入っているのかを確認していました。
RSpecもruby同様binding.pryでエラー箇所を切り出せばいい。
さらに、エラー文の詳細を知る方法も突き止めた。ここに備忘録として残しておきたい。
今回はリクエストスペックを書いていた際に出たエラー対処についての備忘録を書かせていただきます。
RSpecでエラーが出た際の対処法
APIのテストを書く際に、下記のようなエラーが出た場合
エラーが発生した箇所にbinding.pryを挟む
request.statusを確認する
下記コードをコンソールに打ち込む
$ pry>File.write("tmp/debug.html", response.body)
pryからexitする
pry > exit
consoleで下記Linuxコマンドを打ち込むと、
tmp配下のファイルが出力される
$ ls -la tmp/
total 248
drwxrwxrwx 11 subaru staff 352 12 28 10:03 .
drwxrwxrwx 45 subaru staff 1440 12 25 22:34 ..
-rwxr-xr-x 1 subaru staff 0 11 15 08:31 .keep
drwxrwxrwx 5 subaru staff 160 12 24 06:57 cache
-rw-r--r-- 1 subaru staff 119684 12 28 10:03 debug.html
-rwxrwxrwx 1 subaru staff 128 10 5 18:38 development_secret.txt
drwxrwxrwx 13 subaru staff 416 12 28 09:00 miniprofiler
drwxrwxrwx 4 subaru staff 128 12 26 06:13 pids
-rwxrwxrwx 1 subaru staff 0 10 5 20:27 restart.txt
drwxrwxrwx 16 subaru staff 512 12 28 09:32 screenshots
drwxrwxrwx 2 subaru staff 64 10 5 20:27 sockets
pryを挟んだ時にエラー文を記入しておいたdebug.htmlを書きコマンドを打ってブラウザで開く
$ open tmp/debug.html
すると下記のようにエラーの箇所を見つける事ができる。