游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1762|回复: 0

基于j2ee单元测试框架介绍之一wxh zt

[复制链接]

1367

主题

1993

帖子

2118

积分

金牌会员

Rank: 6Rank: 6

积分
2118
发表于 2006-4-21 20:03:00 | 显示全部楼层 |阅读模式
-调试无需启动中间件

J2EE 是目前公认的比较慢的一种开发,相比 .net , php , asp 等而言。其实, j2ee 的开发者都

深有体会的, java 代码编写的速度其实并不慢,在 eclipse 和 jbuilder 等可视化界面的帮助下,

编写代码变的越来越简单;但是在调试的时候,每改完一个 java 或者 xml 代码要预览改的效果的话

,必须要重新构建,部署,重启服务器 , 这些动作反反复复,消耗的时间不少。

近期为公司写了个单元测试的框架,基本上解决了反反复复构建,部署,重启服务器的问题。我们的项

目的都是运用了类似 struts - spring - hibernate 的 MVC 架构(下面简称 ssh ),不同的就是

中间的 aop 是自己开发实现的,而没有运用 spring 的。不过,我们的单元测试框架对标准的 struts

- spring - hibernate 支持也挺好。



上面的是在 ssh 的一次交互的原理图,做过 struts 开发者都会很熟悉。首先,是 jsp 通过 submit

的 url 将表单数据提交给后台 action 的 servlet ,后台通过在 struts-config.xml 中的配置找到

相关的××× Action ,然后通过××× Service ,××× Dao 操作数据库,再将数据返回给另外一

个 jsp ,让他显示结果。



上面的图是我们单元测试框架实现构建,部署,重启服务器的原理图。我们很容易从图上看的出来,我

们写了个 Test ××× Action 来模拟 2 个 jsp 的动作,该类分成 2 部分上面一部分是模拟了 jsp

页面 submit 的动作(包括模拟提交给 url ,模拟提交数据),下面一部分是接收××× Action 返

回的数据,然后,进行校验(此处的校验,我们用了 junit 的断言功能)。通过用 java 类来模拟

jsp 的好处在于,我们可以完全把这个一个交互作为一个 application 来运行起来,非常容易的做到

单步调试,而不用到真实的平台上,启动服务器上运行。(注:此处有 2 个 db :开发 db 和测试 db

,这个再以后的介绍中会讲到)

我们还为在这个架构上开发制定了流程:

1 把当天需要开发的模块的 java 代码全部些好

2 通过这种模式调试 java 代码

3 在确保这些 java 代码无误后,构建,部署,启动服务器

4 然后编写所有的 jsp (因为修改 jsp 无需启动服务器)

这样,在开发一天的所有代码,几乎都不用怎么重启服务器,可以为开发人员省下很多时间,也使得开

发人员喜欢的单步调试变的异常简单,提高代码的质量。

我们已经在真实的项目中实施了该流程的开发,得到的效果和预期的一样。当然还是比不过其他语言的

开发,不过我们的架构还在不断改进(通过改进流程、编写 eclipse 等开发工具的插件等方法),使

我们的开发人员可以更加快的进行 j2ee 的开发。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-24 07:08

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表