怎样编写Action测试用例

发表于:2010-01-07来源:作者:点击数: 标签:Actionaction编写
怎样编写Action测试用例 测试用例设计 咱们通常在 开发 web运用历程中,展示层Action的 单元测试 常常被咱们无视了,重要起因是: 1、Action层的业务逻辑对比简朴。大家潜意识以为这一局部的代码不重要。 2、Action层难以模仿http要求传递参数,须要依靠web

         怎样编写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(),”suclearcase/" target="_blank" >ccess”)

  具体用例参考:

  public class TestActionTest extends BaseCaseTest【

  private ActionProxy proxy = null;

  private IVoucherService voucherService;

  @Before

  public void setUp() throws Exception 【

  IMocksControl control = EasyMock。createControl();

  voucherService = control。createMock(IVoucherService。class);

  Map params = new HashMap();

  params。put(”loginId”,”test”);

  params。put(”password”,”111111″);

  params。put(”voucherService”, voucherService);

  Map extraContext = new HashMap();

原文转自:http://www.ltesting.net