我正在尝试在 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])