首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

如何用mock class替换掉实现类

2012-03-28 
怎么用mock class替换掉实现类?我有这样一个测试需求:public static VersionManager getVersionManager(Ht

怎么用mock class替换掉实现类?
我有这样一个测试需求:
public static VersionManager getVersionManager(HttpSession session, long id) {
WorkerContext wc = (WorkerContext)session.getAttribute("WorkerContext");
if (session != null && wc != null && wc.getVm() != null)
return wc.getVm();

PackageInfo packInfo = PackageInfo.findPackageInfo(id);
VersionManagerSVNImpl vm = new VersionManagerSVNImpl();
vm.setAuthor(packInfo.getSvnUser());

  return vm;
}
这个函数需要使用类PackageInfo这个实体类,通过调用PackageInfo.findPackageInfo(id)来得到一个对象,再用这个对象的值来初始化VersionManager.我现在遇到的问题是,怎么在调用函数getVersionManager()之前,将类PackageInfo给mock掉,这样使得PackageInfo.findPackageInfo(id)能返回我需要的值?

[解决办法]
你需要静态导入easymock的control,如:

Java code
import static org.easymock.classextension.EasyMock.createControl;IMocksControl control;//创建类实例PackageInfo pi = control.createMock(PackageInfo.class); 

热点排行
Bad Request.