首页 > 解决方案 > 使用 doThrow() 不会抛出像 doThrow(null, NullPointerException.class) 这样的异常

问题描述

我需要doThrow(null, NullPointerException.class).when(myService).m1()在第一次调用时不抛出异常,void m1()NullPointerException第二次调用时抛出异常。

doThrow()不接受null

我该如何解决这个问题?

标签: javajunitmockito

解决方案


试试这样:

doNothing().doThrow(NullPointerException.class).when(myService).m1();

对于非 void 方法,可以以相同的方式完成:

 when(obj.methodName()).thenThrow(RuntimeException.class)
                       .thenReturn(something);

推荐阅读