问题:对于我的一个单元测试,我想模拟结合Mockito抛出异常(io.netty.handler.timeout.TimeoutException
(。但是,Java不允许这样做,因为异常是受包保护的。
现在我有以下代码:
doAnswer(invocation -> {
throw new TimeoutException("test-description");
}).when(someObject).someMethod();
这段代码不编译,但我想知道是否有任何替代方案可以模拟抛出此异常。
类io.netty.handler.timeout.TimeoutException
本身是公共的,但其构造函数是包私有的。您可以模拟异常:
doThrow(TimeoutException.class).when(someObject).someMethod();
或:
doThrow(mock(TimeoutException.class)).when(someObject).someMethod();