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