正 文

利用StrutsTestCase测试Struts应用程序


www.7dspace.com  更新日期:2005-12-10 3:25:56  七度空间


  在上面的例子,我们只是简单地运行了Action,那么Action是否正确执行以及返回的结果是不是我们想要的呢?

  我们继续完善一下testSearchHotline()这个Method.

public void testSearchHotline() throws Exception{
    setRequestPathInfo("/SearchHotline.do");
    addRequestParameter("country", "CN");
    actionPerform();
    verifyNoActionErrors();
    verifyForward("hotlineList");
    assertNotNull(request.getAttribute("hotlineList"));
    List hotlineList = (List) request.getAttribute("hotlineList");
    for (Iterator it = hotlineList.iterator();it.hasNext();){
     ....
    }
    }

  我们在actionPerform()后增加了几行语句来断定Struts Action是否正确执行.

  verifyNoActionErrors() -- 判断Action里没有任何的Action;

  verifyForward("hotlineList") -- 判断Action确实转发到hotlineList;

  assertNotNull(request.getAttribute("hotlineList")) -- 判断Action确实返回了hotlineList并且不为空

  到这里,我们已经基本上讨论完了StrutsTestCase的核心部分. 从头到尾,我们没有发布应用程序,也不需要Web服务器,对我们来讲,Struts Action就象普通的Java Class一样容易调试测试.这就是StrutsTestCase给我们带来的方便.

  五、深入StrutsTestCase

  除了以上我们用到的几个断定和校验方法外,StrutsTestCase还提供了其他几个方法便于我们测试Struts Action. 下面我一一讲述,具体的大家可以参考文档.

  verifyActionErrors/Messages -- 校验ActionActionServlet controller 是否发送了ActionError或ActionMessage. 参数为ActionError/Message Key

  verifyNoActionErrors/Messages --校验ActionActionServlet controller 没有发送ActionError或ActionMessage

  VerifyForward -- 校验Action是否正确转发到指定的ActionForward.

  VerifyForwardPath -- 校验Action是否正确转发到指定的URL

  verifyInputForward -- 校验Action是否转发到Action Mapping里的input属性

  verifyTilesForward/verifyInputTilesForward--和以上类似,应用程序使用到tiles时用的

  六、关于Web.xml和Struts-Config.xml

  缺省情况下,StrutsTestCase认为你的Web.xml和struts-config.xml的路径分别是:

  /WEB-INF/web.xml和/WEB-INF/struts-config.xml

  1. 假如你的web.xml/struts-config.xml的路径是

  d:/app/web/WEB-INF/web.xml(struts-config.xml)的话,就需要把d:/app/web加到classpath.

  2. 假如你的struts config是strust-config-module.xml,

  那么必须调用setConfigFile()设置你的struts config文件

  七、结束语

  J2EE应用程序的测试在开发过程中占有相当重要的位置,利用StrutsTestCase能极大方便你测试基于Struts的应用程序.

3页,页码:[1] [2] [3] 

上一篇:为什么webservice里无法使用Page做参数
下一篇:网络安全职业认证推荐
作者:叶枫  来源:matrix ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐