在一个方法中,我有一个要模拟的异常被捕获。
我知道如何使用 mock.doSomething() 模拟对象以引发异常,但是当类创建自身的新实例时,我需要引发远程异常。
transient Bicycle bike = null;
public Bicycle getBicycle() {
if (bike == null) {
try {
bike = new Bicycle(this);
} catch (RemoteException ex) {
System.out.println("No bikes found");
}
}
return bike;
}
我希望能够模拟 try 块中的所有内容,但我不明白您如何模拟新类的创建,具体如下:
bike = new Bicycle(this);
我尝试了许多不同的 Mockito 测试,例如:
Bicycle b = mock(Bicycle.class);
Mockito.doThrow(new RemoteException()).when(b = new Bicycle());
虽然我理解这将不会起作用,但我想做类似的事情。
我已经阅读了 Mockito 文档并没有发现任何有用的东西:
http://site.mockito.org/mockito/docs/current/org/mockito/Mockito.html