转:这是一个WebProject,有关Cactus用法详见本文测试用例

上一篇 / 下一篇  2014-03-19 18:07:27 / 个人分类:Junit

首先是web.xml

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
  5.     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
  6.     <!-- 本文中的Cactus是依托于Tomcat启动后来进行测试的 -->  
  7.     <!-- 如果是依托于Jetty则不需要web.xml和cactus.properties -->  
  8.     <!-- 关于Jetty的简单用法,可参考我的博文http://blog.csdn.net/jadyer/article/details/9299485 -->  
  9.     <servlet>  
  10.         <servlet-name>ServletTestRedirector</servlet-name>  
  11.         <servlet-class>org.apache.cactus.server.ServletTestRedirector</servlet-class>  
  12.     </servlet>  
  13.     <servlet-mapping>  
  14.         <servlet-name>ServletTestRedirector</servlet-name>  
  15.         <!-- 这里要求是固定的"/ServletRedirector" -->  
  16.         <url-pattern>/ServletRedirector</url-pattern>  
  17.     </servlet-mapping>  
  18. </web-app>  

下面是待测试的LoginServlet.java

  1. package com.jadyer.servlet;  
  2.   
  3. import java.io.IOException;  
  4. import java.io.PrintWriter;  
  5.   
  6. import javax.servlet.ServletException;  
  7. import javax.servlet.http.HttpServlet;  
  8. import javax.servlet.http.HttpServletRequest;  
  9. import javax.servlet.http.HttpServletResponse;  
  10.   
  11. public class LoginServlet extends HttpServlet {  
  12.     private static final long serialVersionUID = 6655227641354075528L;  
  13.   
  14.     @Override  
  15.     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  
  16.         PrintWriter out = response.getWriter();  
  17.         out.println("<table><tr><td>username</td><td>password</td></tr></table>");  
  18.         out.flush();  
  19.         out.close();  
  20.     }  
  21.       
  22.     public boolean login(HttpServletRequest request){  
  23.         String loginUser = (String)request.getSession().getAttribute("loginUser");  
  24.         if(null==loginUser || !"http://blog.csdn.net/jadyer".equals(loginUser)){  
  25.             System.out.println("用户[" + loginUser + "]登录失败");  
  26.             return false;  
  27.         }  
  28.         System.out.println("用户[" + loginUser + "]登录成功");  
  29.         return true;  
  30.     }  
  31. }  

下面是Cactus运行时要用到的,位于test SourceFolder下面的cactus.properties

  1. #键名固定,键值模式为http://localhost:port/contextRoot/(是否以斜线结尾均可,但这里的端口要与Web服务器的启动端口一致)  
  2. cactus.contextURL=http://127.0.0.1:8088/Cactus_demo/  

最后是使用Cactus编写的位于test SourceFolder下的测试用例LoginServletTest.java

  1. package com.jadyer.servlet;  
  2.   
  3. import java.io.IOException;  
  4.   
  5. import javax.servlet.ServletException;  
  6.   
  7. import junit.framework.Assert;  
  8.   
  9. import org.apache.cactus.ServletTestCase;  
  10. import org.apache.cactus.WebRequest;  
  11. import org.xml.sax.SAXException;  
  12.   
  13. import com.meterware.httpunit.WebResponse;  
  14.   
  15. /** 

TAG:

 

评分:0

我来说两句

Open Toolbar