我正在尝试在Scala的测试中设置模拟期望。模拟在Hibernate Query对象上。它有方法:
List list() throws HibernateException;
列表未参数化。
当我试图模仿这个时,我无法使这些类型正确。 E.g。
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模拟期望应该是什么样的?
答案 0 :(得分:2)
您可以使用asInstanceOf
强制转换并撰写:
when(query.list.asInstanceOf[ArrayList[Any]]).thenReturn(new ArrayList[Any])