Auf die Mockito-Methoden kann nicht zugegriffen werden

7

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:

zugreifen und sie verwenden %Vor%

Eclipse erkennt sie einfach nicht.

Bitte helfen Sie.

    
Ido Barash 30.12.2012, 09:48
quelle

1 Antwort

24

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.)

    
Jeff Bowman 31.12.2012, 01:19
quelle

Tags und Links