spring of life

技術、ときどき日常のブログ(予定)

例外のテスト

RSpecで、ちゃんと例外が発生しているかをテストする時に、

expect{ hoge() }.to raise_error(HogeError)

みたいな感じで書くけど、もうちょっと中身も確認したいって時はブロックを作ればいいみたい

expect{ hoge() }.to raise_error(HogeError) do |e|
  expect(e.fuga).to eq fuga
  ...
end

ブロックの中にさらにexpectでテストを書く感じ

いちおうshouldのバージョンでもできるっぽい?