在一個方法中,我有一個異常被捕獲,我想模擬。我知道如何使用mock.doSomething()來模擬一個拋出異常的對象,但是當一個類創建一個新的實例時,我需要拋出一個遠程異常。如何在使用Mockito創建新類的實例時模擬異常
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
可能重複[如何強制的Mockito到拋出RemoteException在JUnit測試] (http://stackoverflow.com/questions/15582395/how-to-force-mockito-to-throw-remoteexception-in-junit-test) – 2013-03-26 23:34:20
@ChristofferHammarström這絕對不是重複的。我寫了上一個問題,我正在尋找兩個不同的答案。 – 2013-03-28 11:22:17