Innerhalb einer Methode habe ich eine Ausnahme gefangen, die ich verspotten möchte.Wie mache ich eine Ausnahme beim Erstellen einer Instanz einer neuen Klasse mit Mockito
Ich weiß, wie ein Objekt zu verspotten, um eine Ausnahme mit mock.doSomething() zu werfen, aber ich muss eine Remote-Ausnahme auslösen, wenn eine Klasse eine neue Instanz von sich erstellt.
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;
}
Ich möchte in der Lage sein, alles im try-Block zu verspotten, aber ich verstehe nicht, wie Sie die Erstellung einer neuen Klasse verspotten, die folgende Zeile um genau zu sein:
bike = new Bicycle(this);
ich habe viele verschiedene Mockito Tests ausprobiert, wie zum Beispiel:
Bicycle b = mock(Bicycle.class);
Mockito.doThrow(new RemoteException()).when(b = new Bicycle());
Obwohl ich diesen Willen zu verstehen und nicht funktioniert, möchte ich etwas ähnliches tun.
Ich habe die Mockito docs lesen und haben nichts nützlich gefunden:
http://site.mockito.org/mockito/docs/current/org/mockito/Mockito.html
möglich Duplikat von [Wie Mockito zu zwingen Remote in JUnit-Test zu werfen]:
Weitere Beispiele bei gefunden werden kann:
In diesem Fall würden Sie so etwas wie die folgenden Test schreiben (http://stackoverflow.com/questions/15582395/how-to-force-mockito-to-thro-remotexception-in-junit-test) –
@ ChristofferHammarström Dies ist definitiv kein Duplikat. Ich habe die vorherige Frage geschrieben und ich suche zwei verschiedene Antworten von beiden. –