java - Mockito 抛出异常

标签 java junit mockito

<分区>

public interface ABC {
        public boolean removeUser(String userId) throws OTPServiceException, RemoteException;
}

ABC abc= mock(ABC.class);
doNothing().when(abc).removeUser(anyString());

我试过这样。我遇到了以下异常。

org.mockito.exceptions.base.MockitoException: 
Only void methods can doNothing()!
Example of correct use of doNothing():
    doNothing().
    doThrow(new RuntimeException())
    .when(mock).someVoidMethod();
Above means:
someVoidMethod() does nothing the 1st time but throws an exception the 2nd time is called

最佳答案

对于非 void 方法,您不能doNothing,因为您需要返回一些东西或抛出异常。

when(abc.removeUser(anyString())).thenReturn(true);

when(abc.removeUser(anyString())).thenThrow(RuntimeException.class);

关于java - Mockito 抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39515180/

相关文章:

java - 生产服务器中的 OutOfMemoryException

Spring boot @SpyBean 尝试实例化一个新的 bean,而不是在上下文中监视该 bean

android - 如何测试演示者 MVP Android

java - 如何在 JUnit 中构建自动回复 JMS 监听器(在 OpenEJB 中)

java - 当我运行单一测试时,内存中的 H2 是空的,但当我运行应用程序本身时,它会被填充

java - 在 junit 5 中测试类中的 stub 私有(private)方法,PowerMock 不适用于 JUnit5

java - Mockito 模拟 SecurityManager 抛出异常

java - 从链接列表中删除所有出现的项目

java - 使用正则表达式匹配末尾包含 "(number)"模式的字符串

java - 获取隐藏字段值