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
- » Bundler環境でIRBでもLSPでもドキュメントを利用する方法
- » Ruby 3.2と3.3のirb historyの扱いの違いと対処方法
- » Result型とRailway Oriented Programmingをめぐる旅
- » dry-operationのススメとエラー情報をViewまで持っていく方法の模索
- » aligach.netのRubyとViteをバージョンアップした
- » ViteRuby 3.7.0は起動方法のデフォルトがnpx経由になった
- » GmailからSpreadsheetとGoogle Driveへ書き出すGASライブラリを作った
- » 面倒くさがり屋のためのTypeScript環境
- » JavaScriptにも論理和代入なんてあったんだ
- » TypeScriptでpropertyを舐める処理が面倒くさい