В методе у меня есть исключение, которое я хочу высмеять.
Я знаю, как имитировать объект, чтобы сгенерировать исключение, используя 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