【发布时间】:2013-03-26 21:06:45
【问题描述】:
在一个方法中,我捕获了一个我想模拟的异常。
我知道如何使用 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
【问题讨论】:
-
@ChristofferHammarström 这绝对不是重复的。我写了上一个问题,我正在寻找两个不同的答案。
标签: java junit mocking mockito