【JUnit】mockito実行したらエラーが… Checked exception is invalid for this methodが出たらこれで対処だ

Junitでテストケースを実装している時にあるクラスのメソッドが動いたら、Exceptionを投げたいという時がありませんか?

こんなmockを実装したとします

// TestRepositryクラスのfindメソッドが実行されたら「Exception」を投げる
TestRepository mockedTestRepository = mock(TestRepository.class);
when(mockedTestRepository .find()).thenThrow(new Exception());

そしたら…こんなログが…

「TestRepositry.find()」に「throws Exception」記載されていないため、こうなってしまうようです

// org.mockito.exceptions.base.MockitoException: 
// Checked exception is invalid for this method!
// Invalid: java.lang.Exception: Exception

ただ、当メソッドには記載する必要がないのでこのままの実装で行きたい

そんな時はこんな風にしましょう

when(mockedTestRepository .find()).thenThrow(new RuntimeException());

思った通り例外処理を投げてくれるようになりました!

ただ例外にしたいのであれば、「new RuntimeException()」を設定してあげましょう

ではっ



是非フォローしてください

最新の情報をお伝えします

コメントを残す