【发布时间】:2014-08-12 19:20:26
【问题描述】:
我正在测试一个 Spring 服务,我想创建一个使用模拟会话,这样我就不必连接到实际的数据库。
不幸的是:
org.mockito.exceptions.misusing.MissingMethodInvocationException:
when() requires an argument which has to be 'a method call on a mock'.
TweetServiceTest.java
Session session;
TweetService tweetService = new TweetServiceImpl();
@Before
public void setUp() throws Exception {
session = Mockito.mock(Session.class);
HibernateUtil hibernateUtil = Mockito.mock(HibernateUtil.class);
Mockito.when(hibernateUtil.getSession()).thenReturn(session);
}
HibernateUtil.java
public static Session getSession() {
Session session = null;
try {
session = HibernateUtil.getSessionFactory().getCurrentSession();
if (!session.isOpen()) {
session = HibernateUtil.getSessionFactory().openSession();
}
} catch (Exception e) {
e.printStackTrace();
}
return session;
}
【问题讨论】:
标签: hibernate mockito spring-test