浏览 416 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2008-04-07
针对service方法,如何使用easymock来mock Factory的getBean方法?
我的想法是重复录制,可是查不到easymock1.2版本的api是如何写的.红色部分不知道如何写,希望大家看看.
public interface Factory {
public Object getBean(String id);
}
public class FactoryImpl {
public Object getBean(String id) {
return this.context.getBean(id);
}
}
public class OrderService {
private Factory factory;
public void setFactory(Factory factory) {
this.factory = factory
}
public void service() {
Object obj1 = factory.getBean("client");
Object obj2 = factory.getBean("order");
.......
}
}
public class EasyMockUsage extends TestCase {
public void testService(){
// 构造mock控制器
MockControl fcontrol
= MockControl.createControl(Factory.class);
// 这是要测试的MockObject
Factory fmock
= (Factory) fcontrol.getMock();
fcontrol.reset();
fmock.getBean("client");
control.setReturnValue(new Client());
//这里不知道如何写,才能重复录制,针对不同的参数得到不同的返回值
fmock.getBean("order");
control.setReturnValue(new Order());
control.replay();
OrderService service = new OrderService();
service.service();
......
}
声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
时间:2008-04-08
尝试了一下,按下面的方式来搞定
public class EasyMockUsage extends TestCase {
public void testService(){
// 构造mock控制器
MockControl fcontrol
= MockControl.createControl(Factory.class);
// 这是要测试的MockObject
Factory fmock
= (Factory) fcontrol.getMock();
fcontrol.reset();
fmock.getBean("client");
control.setReturnValue(new Client(),1);
fmock.getBean("order");
control.setReturnValue(new Order(),1);
control.replay();
OrderService service = new OrderService();
service.service();
......
}
|
|
| 返回顶楼 | |



