用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
谢谢大家的支持,由于此网站所支持博文字数有限,故分了三篇来完成本话题,给大家带来的不便之处,敬请原谅。再者本人水平有限,欢迎大家指正错误和不足之处,谢谢大家。