[Rails]vcr gem

外部のAPIを叩く部分をテストコードでモックするときにはVCRが便利

  • https://github.com/vcr/vcr

WebMockを使ってAPIアクセスの部分をスタブすることもできるが、そのWebMockに必要なAPIのURL、レスポンス情報などを逐一定義する手間が発生する

VCRを使えば以下のように it や context, describeに :vcr を指定するだけでVCRを利用できるようになる

it 'xxxであること', :vcr do
  
end

一度テストを実行するとYAML形式でAPIのレスポンス情報(カセット)を保存し、二度目以降はそのカセットが参照され、APIを実行することはなくなる