第一步:导入jar包
在对servlet进行单元测试前需要导入的jar包:
aspectjrt-1.5.3.jar、cactus.core.framework.uberjar.javaEE.14-1.8.1.jar、commons-codec-1.4.jar
commons-httpclient-3.1.jar、commons-logging-1.1.1.jar、junit-3.8.2.jar
第二步:在web.xml文件中进行如下配置
<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>
/** 这里配置的是ServletTestRunner是一个类似启动器 */
<servlet>
<servlet-name>ServletTestRunner</servlet-name>
<servlet-class>org.apache.cactus.server.runner.ServletTestRunner</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletTestRunner</servlet-name>
<url-pattern>/ServletTestRunner</url-pattern>
</servlet-mapping>
第三步:servlet的测试用例
这个servlet测试用例必需extends ServletTestCase;
package ******;
import org.apache.cactus.ServletTestCase;
import org.apache.cactus.WebRequest;
public class TestXXXServlet extends ServletTestCase {
public void beginAddXXX(WebRequest request) {
request.addParameter("name", "XXXXX");
. . . . . . . . . .
}
public void testGetService() {
XXXServlet servlet = new XXXServlet();
servlet.doPost(request, response);//
}
}
首先将你请求中需要的数据增加到request消息体中(beginAddPlan(WebRequest request)),这个方法名可以随意思命名;
第四步:servlet测试用例写好后,启动服务器,在浏览器中输入 请求的URL:
http://127.0.0.1:7001/工程名/ServletTestRunner?suite=. . . . .TestXXXServlet
这里给的是类的全路径。
结果(页面输出):
<testsuites>
<testsuite name=" . . . .TestXXXServlet" tests="1" failures="0" errors="0" time="0.525">
<testcase name="testGetService" time="0.496"/>
</testsuite>
</testsuites>
tests="1" 表示进行了一个测试;
errors="0" 表示没有错误,测试通过
在对servlet进行单元测试前需要导入的jar包:
aspectjrt-1.5.3.jar、cactus.core.framework.uberjar.javaEE.14-1.8.1.jar、commons-codec-1.4.jar
commons-httpclient-3.1.jar、commons-logging-1.1.1.jar、junit-3.8.2.jar
第二步:在web.xml文件中进行如下配置
<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>
/** 这里配置的是ServletTestRunner是一个类似启动器 */
<servlet>
<servlet-name>ServletTestRunner</servlet-name>
<servlet-class>org.apache.cactus.server.runner.ServletTestRunner</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletTestRunner</servlet-name>
<url-pattern>/ServletTestRunner</url-pattern>
</servlet-mapping>
第三步:servlet的测试用例
这个servlet测试用例必需extends ServletTestCase;
package ******;
import org.apache.cactus.ServletTestCase;
import org.apache.cactus.WebRequest;
public class TestXXXServlet extends ServletTestCase {
public void beginAddXXX(WebRequest request) {
request.addParameter("name", "XXXXX");
. . . . . . . . . .
}
public void testGetService() {
XXXServlet servlet = new XXXServlet();
servlet.doPost(request, response);//
}
}
首先将你请求中需要的数据增加到request消息体中(beginAddPlan(WebRequest request)),这个方法名可以随意思命名;
第四步:servlet测试用例写好后,启动服务器,在浏览器中输入 请求的URL:
http://127.0.0.1:7001/工程名/ServletTestRunner?suite=. . . . .TestXXXServlet
这里给的是类的全路径。
结果(页面输出):
<testsuites>
<testsuite name=" . . . .TestXXXServlet" tests="1" failures="0" errors="0" time="0.525">
<testcase name="testGetService" time="0.496"/>
</testsuite>
</testsuites>
tests="1" 表示进行了一个测试;
errors="0" 表示没有错误,测试通过