构建一个容易单元测试的java--web系统

2016-02-19 14:16 1 1 收藏

下面图老师小编跟大家分享构建一个容易单元测试的java--web系统,一起来学习下过程究竟如何进行吧!喜欢就赶紧收藏起来哦~

【 tulaoshi.com - 编程语言 】

   最近在做一个项目,我们使用的是一些看似很标准的WEB结构,DAO(数据访问)+HELPER(处理业务操作)+ACTION(调用HELPER层)+struts的控制系统,页面使用struts标签和部分自定义标签完成显示.
  
   进入测试阶段后
  
  1,DAO测试--junit的确非常不错,我们使用eclipse+junit.jar,很满足的完成了这部分检测
  
  2.helper测试--使用和DAO相同的测试方法完成测试
  
  3.进入action测试阶段,出现问题,首先mapping无法模拟,改用strutstestcase,发现主要有Cactus approach 和
  Mock Object approach ,真正使用以后,又 发现很多东西不能嵌入,测试模拟框架没有能够处理的足够工具,再加上没有好的工具支持,最后的action部分等于放弃,将希望放置于结合测试中,如何搭建一个好的驱动先行的系统框架,这时候才让人觉的重要,合理有效的分离各层的类,使各层的类能够被独立的测试而不需要容器的支持,将是保证代码质量很重要的一部分,希望以后能够有更多的理解.组织使用一个完善的高质量的框架系统
  
  结合这次测试和一些网上的资料,我对好的框架有了一些个人的看法,struts的action中的execute方法要注重使用,不是每个方法的实现都同时需要mapping,actionform,request.response这四个参数的,应该适当的做一些方法出来,分离他们.力求让方法带最小的参数.2.为了测试的方便,开发的时候应该适当的对外暴露一些接口,让测试可以将数据放进去.
  
  
  
  
  
  顺便说一下,也许是我见识的少,STRUTS的测试工具的确很不方便,也不全面,现在的工具都不足以让用户进行方便,灵活的单体测试.

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

来源:https://www.tulaoshi.com/n/20160219/1606581.html

延伸阅读
标签: Java JAVA基础
简单的框架 JUnit是由Erich Gamma和Kent Beck开发的开源测试框架,JBuilder集成了这个框架并对此做了扩展。JUnit之所以流行并为广大的开发人员所推崇,一是因为它实战性强,功能强大,二是因为它实在简单。一个产品或框架要能有生命力,最好都具备这样的特点。 简单地讲这个框架提供了许多断言(assert)方法,允...
经过数年的“框架大战”,Java界的各种框架找到了自己应有的位置。 Spring+Hibernate+Struts已成为Java开发的主流体系。在这个体系中,Spring+Hibernate的地位应该说短期内是难以撼动了。除了新兴的Jboss Seam作为挑战者之外,几乎难有劲敌。有趣的是当初Spring、Hibernate作为挑战者,将官方的EJB成功挑落马下;这次反倒是官方的EBJ3...
标签: Java JAVA基础
为了便于讲解,拟通过两个简单的业务类引出测试用例,一个是分段函数类,另一个是字符串处理类,在这节里我们先来熟悉这两个业务类。 分段函数类 分段函数Subsection类有两个函数,sign()是一个符号函数,而getValue(int d)函数功能如下: 当d < -2时,值为abs(d); 当-2≤d<2 且d!=0时,值为d*...
标签: Java JAVA基础
目前我们只为Subsection类生成了一个测试用例,在这节里,我们按照前述的方法,通过Test Case向导为StringUtils类创建一个测试用例代码框架,并编写测试方法,然后将这两个测试用例捆绑组合在一个测试套件中一起运行。 选中StringUtils类,通过File-New..-Test,双击Test Case图标为StringUtils类的string2Array()方法创建...
摘要 当一些应用程序崩溃时,它们往往向用户提供一个机会来提交关于该错误的信息。该信息能够帮助开发者追踪并修正错误。本文将向你展示如何在你的JavaScript/AJAX应用程序中实现这样的功能。 一、 引言 如果可以存取终端用户的计算机的话,那么终端用户的JavaScript错误就很容易调试。既然你不能实现这样的操作,那么你可以...

经验教程

213

收藏

57
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部