mockito 无返回值方法及异常mock
Posted ISaiSai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mockito 无返回值方法及异常mock相关的知识,希望对你有一定的参考价值。
- 无返回值方法的异常mock
doThrow(new RuntimeException()).when(testMethod).testMethod(anyString());
Assertions.assertThrows(Exception.class, () -> testMethod.testMethod("foo"));
- 有返回值的普通mock
given(testMethod.testMethodWithReturn(anyString())).willThrow(new Exception("TestError"));
或者
when(testMethod.testMethodWithReturn(anyString())).thenThrow(new Exception("TestError"));
- 根据特定入参抛出异常(answer方法)
when(testMethod.testMethodWithReturn(anyString())).thenAnswer(
new Answer()
public Object answer(InvocationOnMock invocation) throws Exception
Object[] args = invocation.getArguments();
if (args[0].equals("foo"))
throw new Exception("mock 异常应答");
return "ok";
);
以上是关于mockito 无返回值方法及异常mock的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot Test Mockito Mock Void Return,无返回值的方法
Mockito单元测试保姆级实战(一个java Mock测试框架)