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