使用cactus进行单元测试的方法

 一、在web.xml中配置返调servlet
     < servlet >
        
< servlet-name > ServletRedirector </ servlet-name >
        
< servlet-class >
            org.apache.cactus.server.ServletTestRedirector
        
</ servlet-class >
    
</ servlet >
    
< servlet-mapping >
        
< servlet-name > ServletRedirector </ servlet-name >
        
< url-pattern > /ServletRedirector </ url-pattern >
    
</ servlet-mapping >
二、在classes目录下配置cactus.properties配置文件
cactus.contextURL = http://localhost: 8080 /school   测试的URL
cactus.servletRedirectorName
= ServletRedirector   反调Servlet名称
三、拷贝cactus库到lib目录下
四、启动WEB Server
五、写单元测试程序
package  org.school.test;


// import java.util.Random;

import  junit.framework.Test;
import  junit.framework.TestSuite;
import  servletunit.struts.CactusStrutsTestCase;

import  org.apache.cactus.WebRequest;
import  org.apache.commons.logging.Log;
import  org.apache.commons.logging.LogFactory;


public   class  testUserAction  extends  CactusStrutsTestCase  {
    
protected final Log log = LogFactory.getLog(getClass());

    
    
public testUserAction(String arg){
        
super(arg);
    }

    
    
public void beginRegister(WebRequest theRequest) {
//        theRequest.addHeader("METHOD", "POST");
//        theRequest.addParameter("param", "value", WebRequest.POST_METHOD);
//        Random rand=new Random();
        
//加载post 数量
        theRequest.addParameter("username""jingmin", WebRequest.POST_METHOD);
        theRequest.addParameter(
"password""vkbje76", WebRequest.POST_METHOD);
        theRequest.addParameter(
"repassword""vkbje76", WebRequest.POST_METHOD);
        theRequest.addParameter(
"email""vkbje76@163.com", WebRequest.POST_METHOD);
    }



    
public void testRegister() {
        setRequestPathInfo(
"/register");
        actionPerform();
        verifyNoActionErrors();
    }

    
    
public void testLogin() {
        setRequestPathInfo(
"/login");
        addRequestParameter(
"username""jingmin");
        addRequestParameter(
"password""vkbje76");
        actionPerform();
//        Enumeration names=request.getAttributeNames();
//        while(names.hasMoreElements()){
//            String name=(String)names.nextElement();
//            log.error(name);
//        }
//        log.error(request.getAttribute("org.apache.struts.action.MESSAGE"));
        verifyNoActionErrors();
    }

    
    
public static Test suite(){
        TestSuite suite
=new TestSuite();
//        

        suite.addTest(
new testUserAction("testRegister"));
        suite.addTest(
new testUserAction("testLogin"));
        suite.addTest(
new testUtil("testMD5"));
        
return suite;
    }

    
    @Override
    
protected void setUp() throws Exception {
        
super.setUp();
    }


    @Override
    
protected void tearDown() throws Exception {
        
super.tearDown();
    }


}


五、进行单元测试
以上方法可以对struts+spring+Hibernate进行测试,还可以配置文件在WEB Servlet直接进行测试
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值