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