我正在编写一个使用java.beans.PropertyDescriptor
using Mockito 的测试用例,并且我想模拟getPropertyType()
返回任意Class<?>
对象(在我的情况下为String.class
)的行为。通常,我会通过调用来做到这一点:
// we already did an "import static org.mockito.Mockito.*"
when(mockDescriptor.getPropertyType()).thenReturn(String.class);
然而,奇怪的是,这不会编译:
cannot find symbol method thenReturn(java.lang.Class<java.lang.String>)
但是当我指定类型参数而不是依赖于推断时:
Mockito.<Class<?>>when(mockDescriptor.getPropertyType()).thenReturn(String.class);
一切都很好。在这种情况下,为什么编译器不能正确推断 when() 的返回类型?我以前从来没有像那样指定参数。