有没有一种用泛型参数模拟类的干净方法?假设我必须模拟一个类 Foo<T>
我需要将它传递给一个需要 Foo<Bar>
的方法。我可以很容易地做到以下几点:
Foo mockFoo = mock(Foo.class);
when(mockFoo.getValue).thenReturn(new Bar());
假设 getValue()
返回泛型类型 T
。但是当我后来将它传递给一个期望 Foo<Bar>
的方法时,那将会有小猫。铸造是这样做的唯一方法吗?
原文由 Tim Clemons 发布,翻译遵循 CC BY-SA 4.0 许可协议
我认为你确实需要投射它,但它不应该太糟糕: