用cactus测试servlet(二)

1. beginXxx()方法

如果你的测试方法名最终是testRiotHandler,那么你可能编写一个附加的公共方法叫beginRiotHandler()。这个方法就是一般的beginXXX()方法,并且在测试执行

在客户端。beginXXX方法必须接受一个变量---一个org.apache.cactus.WebRequest.WebRequest表示一个客户端请求,ServletTestCase会将其发送到转向器servlet,

最后被复制到测试安全的请求实例变量中。beginXXX方法实际是用来为这个请求对象增加参数或其他信息的。因为beginXXX执行于另一个与运行在服务器上的测试案例

不同的拷贝,它惟一与服务器端测试的执行代码的通讯方法就是通过WebRequest.

还有就是WebRequest定义了若干设置请求状态的方法。比如:addCookie(),addHeader(),addParameter()分别用于增加reqeust的cookie,header和parameter.

比较重要的是如果在beginXXX方法中调用了setAutomaticSession(false),那么ServletTestCase中的会话实例变量将不被转向实例化,而且对request.getSession(false)

的调用返回null值。

2. 隐含对象

Cactus一个主要的特点就是隐含对象作为ServletTestCase的公共成员变量而存在。服务器端方法可以将这些变量作为参数传递到需要它们的被测试的方法中。
ServletTestCase定义了四个隐含对象:request,response,session和config。这些变量在调用setUp()之前被初始化,并只在运行在服务器上的测试案例的拷贝有效(

它们在客户端为空值,也就是说它们在beginXXX和endXXX方法中为空)。

3. endXXX()

ServletTestCase希望子类定义的最后(可选)方法是endXXX().这个方法只有从服务器得到在服务端执行的结果以后才被调用。如果结果中不包含任何失败或错误,

endXXX()就被调用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值