を使用してエラーを発生させましたraise(ConfigurationError.new(msg))
これをrspecでテストしようとしました:
expect {
  Base.configuration.username
}.to raise_error(ConfigurationError, message) 
しかし、これはうまくいきません。どうすればこれをテストできますか? 目標は一致することmessageです。
エラーメッセージを正規表現と一致させることができます:
it { expect{ Foo.bar }.to raise_error(NoMethodError, /private/) }
これは、メッセージ notNoMethodErrorで発生したかどうかをチェックします。private methodundefined method
NoMethodError.new同じエラーメッセージでもテストに合格しなかったので役に立ちます。
rspec > 2.14.0 を使用していることを確認し、このコミットを見てください。
https://github.com/rspec/rspec-expectations/commit/7f02b503d5ae48d1141b6465acd0a7a4e1bb84dd
it "passes if an error instance is expected" do
  s = StandardError.new
  expect {raise s}.to raise_error(s)
end