Mockito 如何模拟和断言抛出的异常? 断续器样式解决方案(更新到 Java 8)Mockito + Catch-Exception + AssertJ
2022-08-31 07:10:28
我在 junit 测试中使用 mockito。如何使异常发生,然后断言它具有(通用伪代码)
我在 junit 测试中使用 mockito。如何使异常发生,然后断言它具有(通用伪代码)
首先回答你的第二个问题。如果您使用的是 JUnit 4,则可以使用
@Test(expected=MyException.class)
断言发生了异常。要“嘲笑”一个带有 mockito 的例外,请使用
when(myMock.doSomething()).thenThrow(new MyException());
Mockito本身不是处理异常的最佳解决方案,将Mockito与Catch-Exception一起使用
given(otherServiceMock.bar()).willThrow(new MyException());
when(() -> myService.foo());
then(caughtException()).isInstanceOf(MyException.class);