编写Action单元测试用例

 我们通常在开发web应用过程中,展现层Action的单元测试经常被我们忽视了,主要原因是:

1、action层的业务逻辑比较简单。大家潜意识认为这一部分的代码不重要。

2、action层难以模拟http请求传递的参数,依赖web容器,给单元测试编写带来一定的难度。

 

我写了一个简单的action单元测试用例,供大家参考。基于struts的mock和webwork的ActionProxyFactory都可以进行action的单元测试。我个人比较倾向与ActionProxyFactory做单元测试。其实写action单元测试非常简单,大致分为三步就可以完成单元测试:

一、设置actionContext上下文参数

    将表单传递的请求参数添加到map中

二、创建action动态代理对象

    通过public abstract ActionProxy createActionProxy(String namespace, String actionName, Map extraContext) throws Exception 创建action代理对象。

三、junit断言执行结果

    assertEquals(testAction.login(),"success")

详细用例参考

 

注:创建代理action一定要执行proxy.execute()方法,否则参数不能够增加到actionContext上下文中。因为proxy.execute()中会执行 invocation.invoke()核心方法,遍历执行action中所有的拦截器,包括其中的参数拦截器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值