Webwork中的Action的单元测试

使用单元测试框架JUnit对Action做单元测试
example:

public void testAction() throws Exception{

Map params = new HashMap();
params.put("user.username","tangyi");
params.put("user.password","123123");
Map paramCtx= new HashMap();
paramCtx.put(ActionContext.PARAMETERS,params);
//"example" Action对应的namespace;"register" Action的name;
ActionProxy proxy = ActionProxyFactory.getFactory().createActionProxy("example", "register", paramCtx);
proxy.setExecuteResult(false);
assertEquals(proxy.execute(),"success");

RegisterAction action = (RegisterAction) proxy.getAction();
assertEquals(action.getUser().getUsername(),"tangyi");
assertEquals(action.getUser().getPassword(),123123);
}

下面解说这个方法:
1、 对象params表示请求参数的Map,在它里面设置了注册用户的信息。paramCtx当然就是我们ActionContext上下文的容器,它里面保存了放置请求参数的对象params
2、 创建我们的ActionProxy,它传入的参数有:“example”-这个Action的命名空间,“register”-Action对应的名字,paramCtx-存放Actin上下文里的对象,执行并将它返回的值与“success”比较,测试Action是否能正确执行完成。注意:proxy.setExecuteResult(false);,因为我们是单元测试,所以Action执行完成就可以了,不用再去调用结果响应的操作,故将是否执行结果设置为“false”。
3、 Action正确执行完成之后,我们也可以测试现在Action的字段里的数据是否按照我们预期的要求正确设置。从ActionProxy对象里取得执行的Action,即RegisterAction对象,再取得它的User模型,将其数据与前面设置参数的数据进行比较,判断它是否等于我们预期设置的数值。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值