wangluo010 发表于 2017-2-27 10:42:34

用cactus,jetty实现对servlet类进行单元测试三(完)

   OK,可以开始写测试类了,代码为:


package com.test.servlet.jetty;

import junit.framework.Test;
import junit.framework.TestSuite;

import org.apache.cactus.ServletTestCase;
import org.apache.cactus.WebRequest;
import org.apache.cactus.extension.jetty.Jetty6xTestSetup;

import com.test.servlet.LoginServlet;
import com.test.servlet.LoginServletJettyTest;

public class LoginServletJettyTest extends ServletTestCase {

    public static Test suite() {
    System.setProperty("cactus.contextURL",
       "http://localhost:8080/cactustest");
    TestSuite suite = new TestSuite();
    suite.addTestSuite(LoginServletJettyTest.class);
    return new Jetty6xTestSetup(suite);
    }

    public void beginLoginUser(WebRequest webRequest) {
    webRequest.addParameter("username", "cuckoo");
    webRequest.addParameter("password", "123");
    }

    public void testLoginUser() {
    LoginServlet loginServlet = new LoginServlet();
    assertTrue(loginServlet.loginUser(request));
    }

    public void beginInLoginUser(WebRequest webRequest) {
    webRequest.addParameter("username", "guest");
    webRequest.addParameter("password", "123456");
    }

    public void testInLoginUser() {
    LoginServlet loginServlet = new LoginServlet();
    assertFalse(loginServlet.loginUser(request));
    }
}
 
直接运行,不必启动tomcat,结果如图:


看到了最喜欢的绿带,说明你的测试通过了,可以进行下一步开发啦。
 

 
 最后,解释下一两个名词及说明下我的开发环境:
 
组件:组件是在容器内部执行的一段代码。
容器:容器则是为存放在其内的组件提供有用服务(比如生命周期,安全,事务,分布等等)的器皿。
 
我的开发环境是:
软件环境:xp sp3,MyEclipse 8.0M1,tomcat 6.0.20
 
谢谢大家的支持,由于此网站所支持博文字数有限,故分了三篇来完成本话题,给大家带来的不便之处,敬请原谅。再者本人水平有限,欢迎大家指正错误和不足之处,谢谢大家。
页: [1]
查看完整版本: 用cactus,jetty实现对servlet类进行单元测试三(完)