求:Struts+Spring+Hibernate开发单元测试的最佳方式

j012b 2008-08-07 05:37:54
目前想要找到项目开发过程中最佳的测试方案,程序开发使用的框架题所示。
要求:
1:只针对后台数据库操作的功能进行测试。
2:无需运行于web服务器下。
3:由于要测试的类和方法较多,需要简炼实用,方便使用。
4:测试代码和产品代码分离。
5:测试完成后测试程序能给出正确与否的提示最好。
...全文
123 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
j012b 2008-08-21
  • 打赏
  • 举报
回复
感谢两位的提示
目前采用spring-mock进行dao部分的测试,虽然还没成功,但是有些眉目了。
具体见:http://xiyuan.blogdriver.com/macrochen/1208738.html
IceCraft 2008-08-07
  • 打赏
  • 举报
回复
楼主适合直接用AppFuse来搭建项目。
AppFuse的开发模式就是TDD,共分为四层可独立测试,也可统一测试。
第一层、Hibernate测试:主要使用DBUnit来支持对hibernate的dao代码测试,真实的查询数据库来验证dao的代码正确性。(使用Ant或MVN命令,无需web容器)
第二层、Spring测试:使用Spring提供的Mock工具,脱离hibernate层和前端的web层。(使用Ant或MVN命令,无需web容器)
第三层、Struts测试:使用Struts提供的ActionTest工具,由测试代码调用Action类中的各个方法,这时会调用spring层,spring层再调用hibernate层。这个测试主要是脱离jsp层来对hibernate/spring/struts action进行测试。(使用Ant或MVN命令,无需web容器)
第四层、Web测试:使用Canoo框架来进行集成测试,需编写xml脚本,用来定义如何在页面中输入数据、点击链接按钮等。Canoo会自动调用tomcat并部署启动程序,然后执行脚本进行测试。(使用Ant或MVN命令,自动启动web容器)

这四层其实都是可选的,一般我们实际开发中会忽略第四层,由专门的测试人员按照测试用例来人工测试。

AppFuse提供了与CruiseControl的集成,每当把代码提交到cvs或svn,CruiseControl会自动下载最新代码然后开始运行这四层测试,一旦测试出错就把错误日志通过邮件发送到提交者的邮箱。

觉得还是AppFuse1.9.4好用一点,使用Ant操作。最新的AppFuse2.0全面转为Maven管理,也可尝试。
天外流星 2008-08-07
  • 打赏
  • 举报
回复
TestNG
j012b 2008-08-07
  • 打赏
  • 举报
回复
自己顶一顶

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧