システムをrubyのバージョンをアップ(ruby 1.9.2p320⇒2.2.3)しました。Railsのバージョンは3.2.19 DBはMySQLを使用しています。
テストを実行したところエラーが発生し以下のようなエラーが発生しました。

Failures:

  1) …の場合は、 そのまま例外をraiseする。
     Failure/Error: lambda{Job.find_by_id(@conn, 0)}.should raise_error(ex)
       expected Unauthorized but nothing was raised

プロダクトコードは以下のようでテストでmrqを実行したときに任意のエラーを発生させようとしてます。

def self.find_by_id(conn, id)
  options = {…}
  response = Job.mrq(conn, options)

テストコードです。

before(:each) do
  Job.should_receive(:mrq).and_raise(ex)
end
context "…の場合は、" do
  let(:ex){SomeError.new("Unauthorized", 401)}
  it "そのまま例外をraiseする。" do
    lambda{Job.find_by_id(@conn, 0)}.should raise_error(ex)
  end
end

rspec (2.11.0)を使用してます。ruby 1.9.2では動作していました。