在一的基础上编写FirstServletTest2.java,其源代码如下:
package org.pioneer.test.servlet;
import org.apache.cactus.ServletTestCase;
import org.apache.cactus.WebRequest;
import org.apache.cactus.WebResponse;
import org.apache.cactus.internal.configuration.BaseConfiguration;
public class FirstServletTest2 extends ServletTestCase {
public void begin(WebRequest request) {
System.out.println("begin");
System.setProperty(BaseConfiguration.CACTUS_CONTEXT_URL_PROPERTY,
"http://localhost:8080/webtest");
}
public void beginIsLogin(WebRequest request) {
System.out.println("beginIsLogin");
}
protected void setUp() throws Exception {
System.out.println("setUp");
}
public void testIsLogin() {
FirstServlet servlet = new FirstServlet();
boolean result = servlet.isLogin(request);
assertEquals(false, result);
}
public void testIsLogin2() {
FirstServlet servlet = new FirstServlet();
boolean result = servlet.isLogin(request);
assertEquals(false, result);
}
protected void tearDown() throws Exception {
System.out.println("tearDown");
}
public void endIsLogin(WebResponse response) {
System.out.println("endIsLogin");
}
public void end(WebResponse response) {
System.out.println("end");
}
}
启动tomcat服务器后可以通过junit直接运行该测试用例。
Cactus执行流程:
1、Cactus的执行流程分为两部分:客户端(Client)与服务器端(Server)
2、客户端部分:首先构造出准备向服务器端发送的请求参数。客户端通过begin及beginXXX方法构造好请求参数后,
与服务器端建立一个HTTP连接,然后向服务器端发送请求。
3、服务器端:最重要的类是ServletTestRedirector类,它是一个Servlet,它收到客户端发送来的请求,
然后通过反射生成测试类的实例,接下来调用其setUp,textXXX,tearDown方法,执行完毕后,向客户端发送响应(Response)。
4、客户端:收到响应后,执行endXXX,end方法,完成测试流程。
5、在客户端执行的方法:begin,beginXXX,endXXX,end。
6、在服务器端执行的方法:setUp,testXXX,tearDown。