Warum gibt der Java-Compiler eine "Rawtypes" -Warnung für das Klassenliteral?

8

Ich benutze Mockito, um einige Tests zu schreiben, und ich benutze den folgenden Code:

%Vor%

Dies kompiliert und läuft gut, bis auf die Warnung, dass "captor" roher Typ ist und ich es durch etwas ersetzen sollte:

%Vor%

Das Problem ist, dass LinkedList & lt; String & gt; .class nicht existiert , so dass die Die rechte Seite der Aufgabe wird niemals kompiliert.

Unter der Annahme, dass die Unterdrückung der Warnung unelegant ist, gibt es eine elegante Lösung? Wenn nicht, warum warnt das Kompilieren mich über etwas, das ich nicht wirklich reparieren kann?

    
jwepurchase 21.12.2014, 05:03
quelle

1 Antwort

5

Es gibt eine @Captor Annotation in Mockito, die entworfen wurde können Sie Warnungen wie folgt vermeiden.

Sie müssen es nicht manuell new up Ihre ArgumentCaptor verwenden. Sie können es einfach mit der Anmerkung deklarieren und dann aufrufen MockitoAnnotations.initMocks(this); , um "automatisch" deinen Entführer zu erstellen.

statt dessen:

%Vor%

tu dies:

%Vor%     
azurefrog 21.12.2014, 05:32
quelle

Tags und Links