Ich habe in meinem Projekt mit diesen Mavenzeilen ein Mockito-Setup:
%Vor% Ich habe keine Probleme, die @Mock
Annotation zu verwenden, aber ich kann nicht auf Mockito-Methoden wie:
Eclipse erkennt sie einfach nicht.
Bitte helfen Sie.
Versuchen Sie, Mockito.when(foo.getBar()).thenReturn(baz)
und Mockito.verify(foo).getBar()
aufzurufen, da diese nicht auf statische Importe angewiesen sind. Anders als die Annotation @Mock
, die technisch eine Klasse ist, sind when
und verify
statische Methoden für die Mockito-Klasse.
Sobald das funktioniert, dann probiere die statischen Importe, auf die David anspielte:
%Vor% Damit können Sie Mockito.when
verwenden, ohne die Klasse Mockito
anzugeben. Sie können auch einen Platzhalter verwenden, aber pro diese SO-Antwort die Java-Dokumente empfehlen die Verwendung von Platzhaltern sparsam - vor allem, da sie brechen kann, wenn eine statische Methode mit ähnlichen Namen jemals existiert später zu Mockito hinzugefügt.
Das Hinzufügen von import org.mockito.*;
ist nicht ausreichend, da damit alle Klassen im org.mockito
-Paket hinzugefügt werden, nicht jedoch die Methoden für org.mockito.Mockito
.
Insbesondere für Eclipse können Sie einen statischen Import hinzufügen, indem Sie den Cursor auf den when
-Teil von Mockito.when
setzen und Control-Shift-M drücken ("Import hinzufügen"). Sie können auch org.mockito.Mockito
zu Ihren Favoriten hinzufügen (Fenster & gt; Einstellungen & gt; Java & gt; Editor & gt; Inhaltshilfe & gt; Favoriten & gt; Neuer Typ), so dass alle statischen Mockito-Methoden in der Inhaltshilfe für Strg-Space angezeigt werden wenn Sie sie nicht speziell importiert haben. (Sie können dies auch für org.mockito.Matchers tun, die technisch über org.mockito.Mockito per Vererbung verfügbar sind, aber aus diesem Grund nicht in Eclipse angezeigt werden.)
Tags und Links mockito