使用Mockito模拟具有泛型参数的类

有没有一种干净的方法可以用泛型参数模拟类?假设我必须模拟一个类Foo<T&gt我需要将其传递到一个需要Foo<酒吧&gt。我可以很容易地做到以下几点:

Foo mockFoo=mock(Foo.class);
when(mockFoo.getValue).thenReturn(newbar());

假设getValue()返回泛型类型T。但是,当我稍后将它传递到一个方法时,它会有小猫<酒吧&gt。铸造是唯一的方法吗

我认为你确实需要施展它,但它不应该太糟糕:

Foo<酒吧>mockFoo=(Foo<Bar>)mock(Foo.class);
当(mockFoo.getValue())。然后返回(新条());

发表评论