動かざることバグの如し

近づきたいよ 君の理想に

Rspecでバリデーションエラーのテスト書く時は細かく書け

今まで以下のように書いてたんだけど、これだと必ずしも想定していたバリデーションエラーによってテストが成功していたとは言えなかった。

expect(post).not_to be_valid

バリデーションエラーをRspecで完全一致でテストする場合は以下

expect(post.errors.details).to eq({ title: [{ error: :blank }] })

複数バリデーションエラーが発生しててそのうちの1個含んでいればいいみたいな緩い場合は以下

expect(post.errors).to be_of_kind(:title, :blank)