メソッド内で、モックしたい例外がキャッチされています。
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