发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA

[ISSUE]how to perform unit testing in J2EE enviornment?

2003-08-06 14:29
赞助商链接

Hi, guys

i take a look at the doc of Cactus but it seems that the cactus could test only Servlet and EJB etc.

the issue is: if there is some independent tier(for example: Action class in struts, or Service in OFbiz) in the application.
the essential problem is that all these methods depent on the run-time context such as HttpSession, HttpRequest, etc. how can i perform the unit test? if anybody can provides some guide or frag of codes, i will really appreciate.

am i clear enough? :)

2003-08-06 15:34

首先,refactor 你的程序,使这个对象和方法间的耦合变小,特别是把业务相关的方法,从特定的运行环境类里剥离出来,这样可以对业务类单独的做测试。

但是,也确实存在一些对象,和方法,必须在一定的环境里做测试,比如 struts 的 action ,以前,必须运行起 web 服务器,才可以手工测试它。而如果你想有自动运行的测试,推荐使用 strutstestcase

还有,不知你有没有听说过 mock object 这个技术,我也是刚接触它其实 strutstestcase 就是一个很好的 mock object 的实现,它在测试 action 的时候并没有使用真正的 web 环境,而是自己构建了
虚拟的环境,模拟在 web 环境里的 request response,session 等等功能然后在这个虚拟的环境里测试 action

但是,必须考虑的是,建立 mock 环境的工作量也是挺大的。

相关的站点,文章:
structtestcase
http://sourceforge.net/projects/strutstestcase/

mock object 主页:
http://www.mockobjects.com/wiki

这里有篇文章介绍 mock object
ftp://cinc.3322.org/pub/doc/xp/JavaXPCookbook.chm 第六章
(好像第七章是讲 cactus 的)

2003-08-06 15:51

thanks too much!
我之前也考虑过用Mock来做单元测试
可惜,没有时间和精力去研究它的实现机制

strutstestcase确实是我现在最需要的

太感谢了

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系反馈 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com