网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.java虚拟机学习笔记1.
.轻松掌握Java泛型(第1部分).
.Java 传递对象给期望原始类型参数.
.java设计模式---prototype(原型).
.Java基本语法(四)——字串和数.
.Borland新一代Java开发环境JBuil.
.JDBC 概述(七).
.md5算法的java源代码.
.Java有能力抵挡LAMP的进攻吗?.
.AspectJ: 通往AOSD之路的最佳军火.
.开动脑筋:Java字符丢失的解决办法.
.Java数据库字符国际化.
.在应用程序中和Applets小程序中使.
.Spring与WebLogic Server的.
.多线程程序设计.
.用Java实现IRC文本到语音转换.
.Java中调用SQL Server存储过程示.
.初学者如何开发出一个高质量的J2.
.学习J2SE过程中的30个基本概念.
.Java大师:曾为C#语言辗转难眠.

Struts行为测试框架StrutsTestCase实战

发表日期:2008-1-5


阅读提要 StrutsTestCase是一个强有力的易于使用的针对Struts行为的测试框架。StrutsTestCase,并与传统型JUnit测试相结合,将会带给你一个相当高的测试覆盖率并提高你的产品的可靠性。

  一、引言

  StrutsTestCase是一个用于测试Struts行为的基于Junit的测试框架。假如你使用Struts,那么你会注重到它可以提供给你一种轻易而有效的方式来测试你的应用程序的Struts行为类。

  典型的J2EE应用程序都是分层构建的,如图1所示。

  ·DAO层封装了数据库存取。Hibernate映射和对象类,Hibernate查询,实体EJBs,或一些其它的实体-关系持续性技术都可以在这一层找到。

  ·商业层包含更高级的商业服务。理想地,这个商业层将是相对独立于数据库实现。在这个层上经常使用会话EJBs。

  ·描述层包含为用户显示应用程序数据并解释用户请求。在一个Struts应用程序中,这一层典型地使用jsp/JSTL页面来显示数据并且使用Struts行为来解释用户查询。

  ·客户层基本上是运行于用户机器上的web浏览器。客户端逻辑(例如,javascript)有时被放在这里,尽管很难对其进行有效地测试。

Struts行为测试框架StrutsTestCase实战(图一)
图1.典型的J2EE架构

  DAO和商业层的测试或者可以通过使用经典的JUnit测试或者使用各种JUnit扩展来进行,具体依靠于架构的实现细节。DbUnit是一种用来进行数据库单元测试的良好选择。

  另一方面,测试Struts行为总是很困难的事情。即使在商业层严格地限制于商业层的构建时,Struts行为也总要包含重要数据校验,转换和流程控制代码。不对Struts行为进行测试将会在代码覆盖率上留下一道很脏的鸿沟。StrutsTestCase会让你填充这条鸿沟。

  对行为层进行单元测试还带来其它一些益处:

  ·可以更好地规划视图和控制层,从而使之更为简单清楚。

  ·更轻易重构行为类。

  ·避免冗余的未使用的行为类。

  ·测试实例有助于对行为层进行归档-这在创建屏幕时是很有用的。

  上面是基于测试开发的典型好处,并且它们可以应用于在各种情况下使用的Struts行为层。

  二、StrutsTestCase简介

  StrutsTestCase工程提供了一种灵活又方便的方法来从JUnit框架内测试Struts行为。它能够使你对你的Struts行为进行白色盒子测试-通过在调用行为后建立请求参数并检查结果Request或Session的状态。

  StrutsTestCase答应或者是一个模拟测试方式-这时框架模拟web服务器容器,或者是一个容器内方式-这时使用Cactus框架来从服务器容器(例如Tomcat)内部运行测试。一般地,我比较喜欢模拟测试方式,因为它更为轻量级的且运行更快些,并因此答应较宽松的开发周期。
所有的StrutsTestCase单元测试类或者派生于MockStrutsTestCase以进行模拟测试,或者派生于CactusStrutsTestCase以进行容器内测试。在此我们先讨论模拟测试,因为它要求较少的配置并且运行较快些。 三、实战StrutsTestCase

  为了使用StrutsTestCase来测试这个行为,我们创建一个扩展类MockStrutsTestCase的新类。这个类提供一系列方法来构建一个模拟的HTTP请求,调用相应的Struts行为以及一旦在行为完成时校验应用程序状态。


上一篇:Java智能卡基础篇——未来Java平台的新发展 人气:578
下一篇:Java多线程程序设计入门 人气:518
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐