使用Cactus进行容器内测试二---(使用junit方式运行测试用例)

在一的基础上编写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。

你可能感兴趣的:(apache,tomcat,servlet,JUnit)