毕业论文

打赏
当前位置: 毕业论文 > 计算机论文 >

Struts2构件自动测试技术研究及应用(2)

时间:2021-04-14 19:41来源:毕业论文
21 4.2 应用于具体的项目 21 4.2 运行环境及配置 21 4.3 测试目录结构 22 4.4 编写测试类 22 4.4.1 普通action测试类 22 4.4.2 涉及数据库访问action测试类 23 4.5 测试中

21

4.2 应用于具体的项目 21

4.2 运行环境及配置 21

4.3 测试目录结构 22

4.4 编写测试类 22

4.4.1 普通action测试类 22

4.4.2 涉及数据库访问action测试类 23

4.5 测试中遇到的问题 24

4.6 本章小结 25

结论 26

致谢 27

参考文献 28

1 绪论

本文主要研究Struts2构件自动测试技术研究及应用,基于JUnit框架自动化测试的一种应用,着重讨论应用Action类的测试方法。

1.1 研究现状

Struts是一个基于J2EE平台的MVC框架,目的是为了减少运用MVC设计模式开发Web项目应用的时间。它只有一个中心控制器,采用XLM定制转向的URL,Action来处理逻辑[4]。JUnit是一个SourceForge上的开源软件,以IBM的Common Public License 1.0版授权协议发布[5],本文使用其最新版本JUnit4。

1.1.1 Struts2现状简介

Struts是Apache Software Foundation(ASF)支持Jakarta项目的一部分。出了Struts以外,Jakarta还包括了好几个相当成功的开源项目,例如,Tomcat、Ant和Velocity。对Struts1.0而言,最初的代码是在2000年5月到2001年6月件开发的。有超过30名开发人员参与了Struts发行版本的开发,同时又上千人通过邮件方式关注着开发过程。Struts的基本代码是有一群志愿者组成的团队来维护的【8】。论文网

经过多年的发展,Struts1已经成为了一个高度成熟的框架,不管是稳定性还是可靠性都得到了广泛的证明。市场占有率超过20%,拥有丰富的开发人群,几乎已经成为了事实上的工业标准。但是随着时间的流逝,技术的进步,Struts1的局限性也越来越多地暴露出来,并且制约了Struts1的继续发展【6】。

对于Struts1框架而言,由于与JSP/Servlet耦合非常紧密,因而导致了一些严重的问题。首先,Struts1支持的表现层技术单一。由于Struts1出现的年代比较早,那个时候没有FreeMarker、Velocity等技术,因此它不可能与这些视图层的模版技术进行整合。其次,Struts1与Servlet API的严重耦合,使应用难于测试。最后,Struts1代码严重依赖于Struts1 API,属于侵入性框架【6】。

从目前的技术层面上看,出现了许多与Struts1竞争的视图层框架,比如,JSF、Tapestry和Spring MVC等。这些框架由于出现的年代比较近,应用了最新的设计理念,同时也从Struts1中吸取了经验,克服了很多不足。这些框架的出现也促进了Struts的发展。目前,Struts已经分化成了两个框架:第一个是在传统的Struts1的基础上,融合了另外的一个优秀的Web框架WebWork的Struts2【6】。Struts2虽然是在Struts1的基础上发展起来的,但是实质上是以WebWork为核心。

Struts2为传统的Struts1注入了WebWork的先进的设计理念,统一了Struts1和WebWork两个框架。Struts1分化出来的另外一个框架是Shale。这个框架远远超出了Struts1原有的设计思想,与原有的Struts1关联很少,使用了全新的设计思想。Shale更像一个新的框架而不是Struts1的升级。而本文主要用到的是Struts2[6]。

1.1.2 JUnit现状简介

JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中为最成功的一个[1]。

JUnit是在极限编程和重构(refactor)中被极力推荐使用的工具,因为在实现自动单元测试的情况下可以大大的提高开发的效率,但是实际上编写测试代码也是需要耗费很多的时间和精力的,JUnit的优势在于【1】: Struts2构件自动测试技术研究及应用(2):http://www.youerw.com/jisuanji/lunwen_73282.html

------分隔线----------------------------
推荐内容