Verspotten generischer Typen mit Mockito
Posted: 14 Jan 2025, 12:14
Es fällt mir schwer, generische Typen zu verspotten. Nachfolgend finden Sie meine Klassendefinitionen
Das Folgende ist meine Implementierungsklasse
Hier erweitert OtherClass BaseClass
Das Folgende ist meine Factory-Klasse
Das Folgende ist, was ich zu verspotten versuche
Das Folgende ist ein Compilerfehler, den ich erhalte
Wie löse ich das?
Code: Select all
public interface MyHandler {
void handle(S t1, T t2);
}
Code: Select all
public class MyFirstConcreteHandler implements MyHandler{
// implementation
}
Das Folgende ist meine Factory-Klasse
Code: Select all
public class MyHandlerFactory {
Map myHandlers;
public MyHandler getHandler(String key) {
// myhandlers will be populated in constructor
return myHandlers.get(key.toLowerCase());
}
}
Code: Select all
MyHandlerFactory myHandlerFactory = mock(MyHandlerFactory.class)
MyFirstConcreteHandler mockHandler = mock(MyFirstConcreteHandler.class);
when(myHandlerFactory.getHandler("random")).thenReturn(mockHandler);
Code: Select all
Cannot resolve method 'thenReturn(MyConcreteHandler)'