`
yunzhu
  • 浏览: 1141017 次
  • 性别: Icon_minigender_1
  • 来自: 南京
博客专栏
B2b19957-cda7-3a9e-83a0-418743feb0ca
监控应用服务器
浏览量:109087
2e8be8be-e51f-346c-bcdd-12623c9aa820
Web前端开发
浏览量:119248
Bfa5df64-a623-34b9-85b8-ef3ce2aed758
经典异常的解决
浏览量:203983
社区版块
存档分类
最新评论
阅读更多
其实没啥创新,都是从外国的那些牛人的书籍和博客里学来的,只是针对这个主题作了一些整合的工作,甚是惭愧。
不过作为一个没有任何实际经验的学生来说,我却耗费了足足三个月呢。不过在此过程中,稍稍领略的TDD和敏捷之美,对TDD越来越感兴趣,所有这三个月的奋斗历程甚感充实。
另外,我也看到在开发Struts2的Action方面,网络上以及任何可查资料上都尚未有较完美较通用的解决方案,本想多多研究Struts2的源码,在这方面作出一些创新,提出自己的一套方案,可惜惰性使然,我并没有继续深入研究下去,从而不了了之。唉,惭愧之至。
放到JavaEye与大家共享,还望各位大虾不要见笑。


摘    要

测试驱动开发是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程。Struts 2则是传统的Struts的替代者,是一个优秀的用于开发Java企业级应用的Web MVC框架,可以极大地提高开发效率。本文大量引用中外专业文献,力求在总结前人经验的基础上,有所整合、有所创新,探讨基于Struts 2的系统的测试途径以及用测试驱动的方式开发Struts 2应用的最佳解决方案。本文所提方案将在三江园丁网开发中进行验证。

关键词:测试驱动开发  测试优先编程  单元测试  重构  Junit  Struts 2  Ant

目    录

摘    要 I
Abstract II
目    录 III

第一章 测试驱动开发原理 1
1.1 结构化开发过程及其弊端 1
1.2 敏捷宣言和测试驱动开发 1
1.3 测试驱动开发基本原理 1
1.4测试驱动开发的一个生动比喻 2
1.5 测试驱动开发的本质和优势 2
1.6 测试驱动开发现状和前景 3

第二章 测试驱动开发实践 4
2.1 单元测试技术 4
2.2 重构技术 6
2.3 测试与重构 7
2.4 Strtus 2应用TDD实践 7
2.5园丁网项目TDD实践 9

第三章 业务控制器的TDD方案 11
3.1 方案一:将Action作为POJO 11
3.2 在Action中调用业务逻辑组件 14
3.3 在Action中访问Servlet API 21
3.4 方案一存在的问题: 26
3.5 方案二:复杂的解决方案 26
3.6 方案一和方案二的取舍: 27
3.7 阶段性小结:TDD的原则 27

第四章 业务逻辑层的TDD方案 28
4.1 业务逻辑与数据库访问代码分离 28
4.2 增加同类型测试用例 32
4.3 测试的方法没有返回值 34

第五章 数据库访问层TDD方案 35
5.1 数据库单元测试的几种可行方案 35
5.2 各方案优劣比较 36
5.3 数据库TDD解决方案 37
5.4 DAO组件TDD案例演示 38
5.5 阶段性小结: 46

第六章 实践TDD的其他技能 50
6.1 测试代码的组织 50
6.2 自由地组合测试 51
6.3 自动化测试与构建 54

第七章 总结与展望 56
7.1 本文主要工作成果 56
7.2 本文存在的欠缺之处 56
7.3 Struts 2框架的一个问题 57
7.4实践TDD的具体流程 57
7.5 未来展望 57

结束语 59
致谢 61
参考文献 62
6
0
分享到:
评论
5 楼 cellhome 2010-08-05  
我是测试的
不错 顶了
4 楼 jinsv_eye 2009-08-27  
最近想写毕业论文,很想参考你的设计,可以发来看看么,邮箱:jinsv1983@126.com
谢谢啦
3 楼 yunzhu 2009-08-01  
liuqizhi0925 写道
看了下,,呵呵很不错!

呵呵,谢谢夸奖 O(∩_∩)O~~
2 楼 liuqizhi0925 2009-07-31  
看了下,,呵呵很不错!
1 楼 shiren1118 2009-07-31  
不错,有前途

相关推荐

    struts2.0.jar

    · 使用注释: 使用Struts 2开发的应用可以使用Java 5注释,作为XML和Java属性配置之外的一个替代办法。注释尽量减少了对XML的需要。Action、拦截器、验证及类型转换方面都有注释。 插入: 只要把插件JAR文件放到\WEB-...

    JAVA程序开发大全---上半部分

    8.3 Struts应用实例:登录系统 125 8.4 本章小结 133 第9章 Hibernate框架的开发及应用 134 9.1 Hibernate框架概述 134 9.1.1 O/R Mapping(对象/关系映射)技术 134 9.1.2 Hibernate框架的作用 135 9.1.3 Hibernate...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    全书分4篇,共24章,其中,第1篇为技能学习篇,主要包括Java Web开发环境、JSP语法、JSP内置对象、Java Bean技术、Servlet技术、EL与JSTL标签库、数据库应用开发、初识Struts2基础、揭密Struts2高级技术、Hib锄劬e...

    FirstJava2教材3.1

    这个工具是完全免费的Java开发工具FistJava2的教材,具有大量的JAVA和J2EE开发实例,FistJava2这个工具绿色软件,无需安装,主要给java初学者和一般的个人开发者使用,使他们更快学好JAVA技术.非常适合学习用途.目前支持...

    《MyEclipse 6 Java 开发中文教程》前10章

    第九章 开发Struts 1.x应用 166 9.1 介绍 166 9.2 创建Struts项目 168 9.2.1 创建Web项目 169 9.2.2 加入 Struts开发功能 169 9.3 使用Struts工具 171 9.3.1 Struts配置文件编辑器 171 9.3.2 Struts组件向导 173 9.4...

    pager-taglib 分页扩展实例

    在实际的开发中post方式的提交比较常见,本人做了一个比较通用的基于post方式的一个应用。主要实现一下功能: 1.添加输入跳转、每页记录数选择功能 2.显示数据与struts2结合实现各行变色 3.基于jquery.form插件的无...

    FirstJava2免费版3.5

    这个工具是完全免费的Java开发工具,绿色软件,无需安装,主要给java初学者和一般...6.JMS向导: 用于JMS,消息驱动EJB和测试客户端自动创建, 目前支持SunAppServer9,Jboss4.2应用服务器 还有附加的教材中有大量实例可用,

    百度地图开发java源码-BizMDA:BizMDA-模型驱动的商业应用构建平台

    BizMDA是一个基于模型驱动架构的商业应用开发平台,支持多种技术开发框架,通过数据建模、视图建模、服务建模、菜单建模等针对商业应用的建模,来快速支持WEB应用、APP应用和小程序的开发,并且让商业应用建模模型与...

    Spring in Action(第二版 中文高清版).part2

    16.2 协同使用Spring和WebWork 2/Struts 2 16.3 集成Spring和Tapestry 16.3.1 集成Spring和Tapestry 3 16.3.2 集成Spring和Tapestry 4 16.4 协同使用Spring和JSF 16.4.1 解析JSF管理的属性 16.4.2 解析Spring...

    Spring in Action(第2版)中文版

    16.2协同使用spring和webwork2/struts2 16.3集成spring和tapestry 16.3.1集成spring和tapestry3 16.3.2集成spring和tapestry4 16.4协同使用spring和jsf 16.4.1解析jsf管理的属性 16.4.2解析springbean 16.4.3...

    Wicket 8.X开发文档(中文翻译+英文原版)

    24.使用Wicket和Spring测试驱动开发 24.1。配置运行时环境 24.2。配置基于JUnit的集成测试环境 24.3。摘要 25. Wicket最佳实践 25.1。正确封装组件 25.2。将模型和页面数据放在字段中 25.3。正确命名Wicket ID 25.4...

    java三大框架

    Spring是使用测试驱动开发的工程的理想框架。 Spring不会给你的工程添加对其他的框架依赖。Spring也许称得上是个一站式解决方案,提供了一个典型应用所需要的大部分基础架构。它还涉及到了其他framework没有考虑...

    Spring in Action(第二版 中文高清版).part1

    16.2 协同使用Spring和WebWork 2/Struts 2 16.3 集成Spring和Tapestry 16.3.1 集成Spring和Tapestry 3 16.3.2 集成Spring和Tapestry 4 16.4 协同使用Spring和JSF 16.4.1 解析JSF管理的属性 16.4.2 解析Spring...

    UML和模式应用(架构师必备).part06.rar

    第21章 测试驱动开发和重构 21.1 测试驱动开发 21.2 重构 21.3 参考资料 第四部分 细化迭代2—更多模式 第22章 UML工具与视UML为蓝图 22.1 前向、逆向和双向工程 22.2 什么是有价值特性的常见报告 22.3 对...

    UML和模式应用(架构师必备).part02.rar

    第21章 测试驱动开发和重构 21.1 测试驱动开发 21.2 重构 21.3 参考资料 第四部分 细化迭代2—更多模式 第22章 UML工具与视UML为蓝图 22.1 前向、逆向和双向工程 22.2 什么是有价值特性的常见报告 22.3 对...

    java开发常用jar包

    struts2-spring-plugin-2.0.14.jar struts2整合spring所需要的包 xwork-2.0.7.jar xwork核心包 antlr-2.7.6.jar 一个语言转换工具, Hibernate利用它实现 HQL 到 SQL 的转换模板相关操作需要包 javassist-3.9.0...

    java开源包2

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    Spring 2.0 开发参考手册

    6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. 其它资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点实施 7.2.3. AspectJ切入点表达式 7.2.4. ...

Global site tag (gtag.js) - Google Analytics