- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用Cactus 来测试J2ee 应用
Junit 是当前最流行的测试框架,它能够让开发人员很方便的编写测试单元,可以使他
们放心地开发。但是现在很多的应用都是基于j2ee 的,代码都是在服务器端的容器里面
运行,这个使测试带来了一些麻烦。对于普通的jsp,servlet 用 Junit 来测试好像已经不是那
么方便,对于 EJB 来说,特别是 2.0 版本,很多接口都是 Local Interface ,没有办法进行分
布式的测试。那么我们如何进行这些代码的测试呢?Apache 为我们提供了一个强大的工具
Cactus !它是一套简单,易于使用的服务器端测试框架,可以使开发人员很轻松的测试服务
器端的程序,他们会说:哦,就是这么简单。Cactus 是 Junit 的一个扩展,但是它又和Junit
有一些不同。Cactus 的测试分为三种不同的测试类别,
JspTestCase,ServletTestCase,FilterTestCase,而不是像 Junit 就一种 TestCase 。Cactus 的测试代
码有服务器端和客户端两个部分,他们协同工作。那我们为什么不用 Junit 来做测试呢?主
要有一下几个理由:
EJB2.0 中的Local interface ,不允讯远程调用。用 Junit 不好测试,而 Cactus 的redirector
位于服务器端,可以和 EJB 运行在一个容器中,这使得它可以直接访问 Local Interface 。
一般 EJB 或者 servlet,jsp 都是运行在服务器上,如果你使用junit 测试的话,你的测试
是在客户端,这使的运行环境和测试环境处于不同的系统环境中,这个有时候会不同的测
试结果。
在一个 EJB 的应用中,一般都会有一些前端应用来访问 EJB ,例如:jsp,servlet,javabean。
这就意味着你需要一个测试框架来测试这些前端的组件。Cactus 提供了所有这些组件的测
试方法。哦,太棒了。
Cactus 和 ant 很好的结合在一起,可以很容易的完成自动化测试,减少了很多工作量。
当然,junit 也提供这样的支持。
前面是对 Cactus 作了一个大致的介绍,接下来我们用一个实际的例子来运用一下这个
强大的测试框架。首先我们需要一个被测试的对象,在这里我们选用 EJB2.0 CMP.我们做一
个简单的用户管理。一下就一些主要的代码,来进行一些分析。
UserHome.java
package usersystem;
import javax.ejb.*;
import java.util.*;
public interface UserHome extends javax.ejb.EJBLocalHome {
public User create(String name, String password) throws CreateException;
public Collection findAll() throws FinderException;
public User findByPrimaryKey(String name) throws FinderException;
}
User.java
package usersystem;
import javax.ejb.*;
import java.util.*;
public interface User extends javax.ejb.EJBLocalObject {
public String getName();
public void setPassword(String password);
public String getPassword();
public void setUserInfo(UserInfo userInfo);
public UserInfo getUserInfo();
public void setName(String name);
}
UserInfoHome.java
package usersystem;
import javax.ejb.*;
import java.util.*;
public interface UserInfoHome extends javax.ejb.EJB
您可能关注的文档
最近下载
- 液体伤口敷料产品技术要求标准2023版.docx VIP
- 《水利工程外观质量评定规程DB34∕T 4010-2021》知识培训.pptx VIP
- DLT741-2023年架空送电线路运行规程.docx
- 并网光伏电站项目工程现场电气二次施工方案.doc
- 英语新课标背景下:非纸笔测试在小学英语期末评价中的实践研究.pdf VIP
- 股市实战绝技汇总篇(精华).doc VIP
- 历年行情的十大牛股.doc VIP
- 安徽省六校联考暨安徽六校教育研究会2026届高三入学素质检测-物理试卷答案.docx VIP
- 基于Ansys CFX的风扇叶片双向流固耦合分析.docx VIP
- (高清版)DB1307∕T 334-2020 蛋鸡无抗养殖技术规范.pdf VIP
文档评论(0)