Gibt es eine saubere Methode, eine Klasse mit generischen Parametern zu verspotten? Angenommen, ich muss eine Klasse verspotten, Foo<T>die ich an eine Methode übergeben muss, die a erwartet Foo<Bar>. Ich kann Folgendes leicht genug tun:
Foo mockFoo = mock(Foo.class);
when(mockFoo.getValue).thenReturn(new Bar());
Angenommen, es wird getValue()der generische Typ zurückgegeben T. Aber das wird Kätzchen haben, wenn ich es später in eine erwartete Methode übergebe Foo<Bar>. Ist Casting das einzige Mittel, um dies zu tun?