类型匹配 Scala 中的无参数化 Java 列表



我正在尝试在 Scala 的测试中设置模拟期望。模拟位于休眠查询对象上。它具有以下方法:

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])

我的 Scala 模拟期望应该是什么样的?

您可以使用

asInstanceOf强制转换并写入:

when(query.list.asInstanceOf[ArrayList[Any]]).thenReturn(new ArrayList[Any])

最新更新