Scala中类型匹配的非参数化Java列表
我试图在Scala的测试中设置一个模拟期望。模拟在Hibernate查询对象上。其方法如下:Scala中类型匹配的非参数化Java列表,scala,generics,Scala,Generics,我试图在Scala的测试中设置一个模拟期望。模拟在Hibernate查询对象上。其方法如下: List list() throws HibernateException; 列表未参数化 当我试图嘲笑这一点时,我无法正确地理解类型。例如 when(query.list).thenReturn(new ArrayList) when(query.list).thenReturn(new ArrayList[Any]) // and other variations 报告: overloaded
List list() throws HibernateException;
列表未参数化
当我试图嘲笑这一点时,我无法正确地理解类型。例如
when(query.list).thenReturn(new ArrayList)
when(query.list).thenReturn(new ArrayList[Any])
// and other variations
报告:
overloaded method value thenReturn with alternatives:
(java.util.List[?0],<repeated...>[java.util.List[?0]])org.mockito.stubbing.OngoingStubbing[java.util.List[?0]] <and>
(java.util.List[?0])org.mockito.stubbing.OngoingStubbing[java.util.List[?0]]
cannot be applied to (java.util.ArrayList[java.lang.Object])
重载方法值,然后返回可选值:
(java.util.List[?0],[java.util.List[?0]])org.mockito.stubing.ongoingstubing[java.util.List[?0]]
(java.util.List[?0])org.mockito.stubing.ongoingstubing[java.util.List[?0]]
无法应用于(java.util.ArrayList[java.lang.Object])
我的Scala模拟期望应该是什么样子?您可以使用
作为强制转换和写入的实例:
when(query.list.asInstanceOf[ArrayList[Any]]).thenReturn(new ArrayList[Any])
在内存中,您应该编写:when(query.list.asInstanceOf[ArrayList[Any]])。然后返回(new ArrayList[Any])
,但我现在无法检查它,所以我不建议将此作为答案。