jUnit skip Methode-Aufruf in injectmock-Methode im test
Habe ich eine @InjectMocks cut
das ist die Klasse die ich testen will. Es ist ein deleteX()
und ein init()
Methode.
deleteX()
ruft init()
vor der Fertigstellung - wie kann ich überspringen Sie diesen Aufruf in meinem test, denn jedes mal bekomme ich nur eine NullPointer Exception
.
public void deleteX() {
//some things
init();
}
Ich will einfach nur, um es zu überspringen, da habe ich test-Methoden für die beiden von Ihnen und nicht möchten, großen und doppelten code.
Ich kann das nicht Mockito.doNothing().when(cut).deleteX();
weil @InjectMocks
ist nicht ein Mockobject
.
- was ruft deleteX in Ihrer Anwendung code-Aufruf init() direkt danach und Sie können dann entfernen Sie die init () - Aufruf von delete()
- Seine genannt, die von einer JSF-Seite in einem
p:commandbutton
- und action-cant nennen Sie 2 Methoden und im Angst, weildeleteX()
müssen zuerst aufgerufen werden. - Sie müssen mocks für was auch immer aktuell ist null
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist ein Weg, das zu erreichen, was Sie wollen - es wird als "teilweise spöttisch". Sehen Sie, diese Frage für mehr details - Verwenden Mockito zu verspotten einige Methoden, andere aber nicht.
Gegeben
ClassUnderTest
wie folgt:Dieser test bestanden:
Alle Methodenaufrufe auf dem Objekt, versehen mit
@Spy
wird real sein, außer verspottet diejenigen. In diesem Fallinit()
Aufruf verspottet wird, nichts zu tun, statt eine Ausnahme zu werfen.Wenn Sie brauchen, Abhängigkeiten injiziert in die Klasse unter test, die getan werden muss, um in
@Before
Methode, z.B.: