【发布时间】:2014-12-14 12:11:50
【问题描述】:
假设我有一个 Dao 类,它有一个建立连接并从数据库读取 int 的方法。
public class Dao {
public static final Dao INSTANCE = new Dao();
public int getSomething() {
//connection
return 1;
}
}
我有一个 Servlet,里面有这样的代码。
int i = Dao.INSTANCE.getSomething();
问题是我不知道如何模拟这个 Dao.INSTANCE 调用...... 例如,如果它是一个带有会话的 servlet。我可以做到这一点。
Session s = EasyMock.createMock(Session.class);
expect(request.getSession()).andReturn(s);
但我无法做到这样
Dao dao = EasyMock.createMock(Dao.class);
expect(Dao.INSTANCE).andReturn(dao);
【问题讨论】:
-
所以你想mock Dao类对吗?
-
是的,我想模拟 Dao 类