有没有一种干净的方法可以用泛型参数模拟类?假设我必须模拟一个类Foo<T>
,我需要将它传递到一个需要Foo<Bar>
的方法中.我可以很容易地做到以下几点:
Foo mockFoo = mock(Foo.class);
when(mockFoo.getValue).thenReturn(new Bar());
假设getValue()
返回泛型类型T
.但当我稍后将其传递到一个方法时,会有小cat .铸造是唯一的方法吗?
有没有一种干净的方法可以用泛型参数模拟类?假设我必须模拟一个类Foo<T>
,我需要将它传递到一个需要Foo<Bar>
的方法中.我可以很容易地做到以下几点:
Foo mockFoo = mock(Foo.class);
when(mockFoo.getValue).thenReturn(new Bar());
假设getValue()
返回泛型类型T
.但当我稍后将其传递到一个方法时,会有小cat .铸造是唯一的方法吗?
我认为你确实需要施展它,但它不应该太糟糕:
Foo<Bar> mockFoo = (Foo<Bar>) mock(Foo.class);
when(mockFoo.getValue()).thenReturn(new Bar());