RSpec 3.5のRequest Spec使ってみた
おじさんのためのRSpecとRequest Specの歴史ふり返り
- RSpec にはもともと Request Spec はあった
- Capybara 1.x 時代は Request Spec + Capybara という組み合わせはアリだったが、Capybara 2.x 時代には Feature Spec と組み合わせてくれという話になり、そっちが流行った
- Feature Spec の登場は RSpec 2.14
- この頃同時に RSpec 3 へ向けて should が expect なるぞーなど RSpec に疲れた人が増える(脱線)
- RSpec 3.5 で Request Spec は以前に比べて高速化したのを期に Controller Spec じゃなくて Request Spec オススメだよ宣言
使ってみた感想
- いくら速くなったとは言え、Controller Spec よりは明らかに重い
- ただし多少の遅さは我慢のうえで Request Spec を使うメリットはある
- view の render が自動で走るので response body も何の前準備もなしに取得できる
- Feature Spec ではないので Capybara の語彙に縛られずにいきなり Post できる
ごく簡単に言うと まず API を叩いて response を確認するといったことが普通にできる。地味かもしれないけどこれが助かるシーンは確かに今後増えそうだ。
More
Recent Posts
- » GuideRailというimmutable value objectをうまく使うためのgemを作ってみた
- » PlantUMLの-pipeモードとEmacsのplantuml-mode
- » Emacs + ruby-lsp + Standardで快適コーディング
- » ものぐささんのためのTypeScriptを使いつつGASでも使えるライブラリ開発環境
- » quickjs.rbでRubyの環境からJavaScriptのロジック(I/Oのないコード)の動作結果を得る
- » kintoneからエクスポートしたCSVデータの変換ライブラリを作ってみた
- » MCPメモ
- » Mermaidの大きすぎる余白を調整する方法の一例
- » LLMアプリをLLMを使いながら作ってみた
- » Gemini Advancedでもうゲームが変わっていた