投稿

minitestで意図的にraise

minitestで意図的にraise

Minitest::Mock でメソッド呼び出し時に意図的に例外を発生させ、例外処理側のテストを書きたいときに使う。

expect にブロックを渡すことで、モックが呼ばれた際にブロック内の処理(ここでは raise)を実行させられる。

api_mock = MiniTest::Mock.new
api_mock.expect(:get, retval_get) do |args_update|
  raise StandardError('Mock#getで例外発生')
end

Rails minitest Mockで例外発生パターンのテスト - Qiita