Mockito之doThrow
1、如果一个对象的方法的返回值是 void,那么不能用 when … thenThrow 让该方法抛出异常。
(1)如果有返回值,下面这种写法是错误的:
import org.junit.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import static org.mockito.Mockito.when; public class MockitoDemo { static class ExampleService { public void hello() { System.out.println("Hello"); } } @Mock private ExampleService exampleService; @Test public void helloCase1() { // 这句编译不通过,IDE 也会提示错误,原因很简单,when 的参数是非 void when(exampleService.hello()).thenThrow(new RuntimeException("异常"));
// 这种写法可以达到效果
doThrow(new RuntimeException("异常")).when(exampleService).hello();
}
}
友情链接:mockito框架使用总结