mockito 无返回值方法及异常mock

Posted ISaiSai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mockito 无返回值方法及异常mock相关的知识,希望对你有一定的参考价值。

  1. 无返回值方法的异常mock
     doThrow(new RuntimeException()).when(testMethod).testMethod(anyString());
        Assertions.assertThrows(Exception.class, () -> testMethod.testMethod("foo"));
  1. 有返回值的普通mock
   given(testMethod.testMethodWithReturn(anyString())).willThrow(new Exception("TestError"));

或者

    when(testMethod.testMethodWithReturn(anyString())).thenThrow(new Exception("TestError"));
  1. 根据特定入参抛出异常(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的主要内容,如果未能解决你的问题,请参考以下文章

mockito 无返回值方法及异常mock

Spring Boot Test Mockito Mock Void Return,无返回值的方法

Mockito单元测试保姆级实战(一个java Mock测试框架)

Mockito单元测试保姆级实战(一个java Mock测试框架)

Mockito单元测试

学习单元测试 Mockito 一篇文章就够了