Mockito How to Mock and Assert a Thrown Exception?
I'm Using Mockito in a Junit Test. How Do You Make an Exception Happen and Then Assert That It Has (Generic Pseudo-Code) 0 12 Answers to Answer Your Second...
I'm using mockito in a junit test. How do you make an exception happen and then assert that it has (generic pseudo-code)
12 Answers
To answer your second question first. If you're using JUnit 4, you can annotate your test with
@Test(expected=MyException.class)
to assert that an exception has occured. And to "mock" an exception with mockito, use
when(myMock.doSomething()).thenThrow(new MyException());
BDD Style Solution (Updated to Java 8)
Mockito alone is not the best solution for handling exceptions, use Mockito with Catch-Exception
Mockito + Catch-Exception + AssertJ
given(otherServiceMock.bar()).willThrow(new MyException());
when(() -> myService.foo());
then(caughtException()).isInstanceOf(MyException.class);