RSpecのexpectとraise_errorで詰まる
Rails4からRSpecでテストを評価したいとき,shouldではなくexpectを使うようにするのが望ましいとのこと.
Ruby - RSpecのshouldはもう古い!新しい記法expectを使おう! - Qiita
このリンク先では標準的な使い方の場合,expect()を使っている.メソッドとして結果を引数を渡す使い方は一応,間違ってはいないし,これでも正常に動く.
一方で,raise_errorを使って例外が発生したのかどうかチェックしたいときは,引数を渡す方法では延々と成功しない.
raise_errorを使う場合は,ブロックで例外の発生するコードを囲わないとうまく動作しない.
上のリンクできちんとまとめられてはいるが,よく見ると中括弧なのでコードを書くときは注意しなければならない.