最近在研究Servlet,JSP的Test
一、如果僅僅調(diào)試,而非測試,可以在eclipse裡,先選擇要調(diào)試的servlet,右鍵菜單
debug==>debug configuring, new 一個(gè)remote debug配置,保持默認(rèn)即可調(diào)試:

然後,切換eclipse 到debug perspective(調(diào)試工作臺)後,在Server 裡選tomcat 啟動為debug模式
現(xiàn)在可以在你的Servlet裡增加一個(gè)斷點(diǎn),在瀏覽器裡輸入此Servlet的路徑(即web.xml裡的<url-pattern後的路徑
,如http://localhost:8080/web-cactus/servlet/FirstServlet),當(dāng)執(zhí)行到這個(gè)斷點(diǎn),系統(tǒng)會停在這兒:

二、 Cactus 是一個(gè)可以用來做servlet測試(不是調(diào)試)的東東,查了半天才搞明白:
1、下載它:http://jakarta.apache.org/site/downloads/downloads_cactus.cgi
2、還要下載相關(guān)的一個(gè)commons-codec:http://commons.apache.org/codec/download_codec.cgi
3、tomcat 配置:
5.建立package:test.org.cactusturtor.servlet,把測試client servlet從解壓後的cactus-1.8.1-bin\samples\servlet\src\test\java\org\apache\cactus\sample\servlet\TestSampleServet.java,復(fù)制後改第一包名為:package test.org.cactusturtor.servlet;
6.再把cactus-1.8.1-bin\samples\servlet\src\main\webapp\WEB-INF\cactus-report.xsl復(fù)制到項(xiàng)目的webroot裡,
在查看執(zhí)行結(jié)果時(shí)要用到這個(gè)文件去顯示
7.再在webroot下建個(gè)文件夾test,裡面建個(gè)test.jsp,有一個(gè)test就是查這個(gè)JSP文件能否返回(裡必須有一個(gè)正文是:Hello !)
參考TestSampleServlet.java,即endRequestDispatcherForward()裡的這一行會檢查:
assertTrue("Text missing 'Hello !' : [" + theResponse.getText() + "]",
theResponse.getText().indexOf("Hello !") > 0);
至此終於準(zhǔn)備完成了,測一下吧:
發(fā)布WebAPP->啟動 tomcat,在網(wǎng)面裡輸入此路徑來看測試結(jié)果(這個(gè)結(jié)裡是ServletTestRunner產(chǎn)生的):http://localhost:8080/web-cactus/ServletTestRunner?suite=test.org.cactusturtor.servlet.TestSampleServlet&xsl=cactus-report.xsl

一、如果僅僅調(diào)試,而非測試,可以在eclipse裡,先選擇要調(diào)試的servlet,右鍵菜單
debug==>debug configuring, new 一個(gè)remote debug配置,保持默認(rèn)即可調(diào)試:
然後,切換eclipse 到debug perspective(調(diào)試工作臺)後,在Server 裡選tomcat 啟動為debug模式
現(xiàn)在可以在你的Servlet裡增加一個(gè)斷點(diǎn),在瀏覽器裡輸入此Servlet的路徑(即web.xml裡的<url-pattern後的路徑
,如http://localhost:8080/web-cactus/servlet/FirstServlet),當(dāng)執(zhí)行到這個(gè)斷點(diǎn),系統(tǒng)會停在這兒:
二、 Cactus 是一個(gè)可以用來做servlet測試(不是調(diào)試)的東東,查了半天才搞明白:
1、下載它:http://jakarta.apache.org/site/downloads/downloads_cactus.cgi
2、還要下載相關(guān)的一個(gè)commons-codec:http://commons.apache.org/codec/download_codec.cgi
3、tomcat 配置:
復(fù)制這幾個(gè)JAR[tomcat-root]/common/lib
:(在解壓後的文件夾lib中)
-
cactus.jar
-
commons-httpclient.jar
-
commons-logging.jar
-
junit.jar
-
aspectjrt.jar
[tomcat-root]/conf/web.xml
增加這幾行, after the <webapp>
tag:
<servlet>
<servlet-name>ServletRedirector</servlet-name>
<servlet-class>org.apache.cactus.server.ServletTestRedirector</servlet-class>
<init-param>
<param-name>param1</param-name>
<param-value>value1 used for testing</param-value>
</init-param>
</servlet>
<servlet>
<servlet-name>ServletTestRunner</servlet-name>
<servlet-class>org.apache.cactus.server.runner.ServletTestRunner</servlet-class>
</servlet>
當(dāng)然還有mapping:
<servlet-mapping>
<servlet-name>ServletRedirector</servlet-name>
<url-pattern>/ServletRedirector</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ServletTestRunner</servlet-name>
<url-pattern>/ServletTestRunner</url-pattern>
</servlet-mapping>
4.在eclpise裡,建立一個(gè)測試用web Project :web-cactus,建立package:org.cactusturtor.servlet把測試用servlet從解壓後的cactus-1.8.1-bin\samples\servlet\src\main\java\org\apache\cactus\sample\servlet\SampleServlet.java,復(fù)制到這個(gè)包裡,改下第一行的包名為:package org.cactusturtor.servlet;
5.建立package:test.org.cactusturtor.servlet,把測試client servlet從解壓後的cactus-1.8.1-bin\samples\servlet\src\test\java\org\apache\cactus\sample\servlet\TestSampleServet.java,復(fù)制後改第一包名為:package test.org.cactusturtor.servlet;
6.再把cactus-1.8.1-bin\samples\servlet\src\main\webapp\WEB-INF\cactus-report.xsl復(fù)制到項(xiàng)目的webroot裡,
在查看執(zhí)行結(jié)果時(shí)要用到這個(gè)文件去顯示
7.再在webroot下建個(gè)文件夾test,裡面建個(gè)test.jsp,有一個(gè)test就是查這個(gè)JSP文件能否返回(裡必須有一個(gè)正文是:Hello !)
參考TestSampleServlet.java,即endRequestDispatcherForward()裡的這一行會檢查:
assertTrue("Text missing 'Hello !' : [" + theResponse.getText() + "]",
theResponse.getText().indexOf("Hello !") > 0);
至此終於準(zhǔn)備完成了,測一下吧:
發(fā)布WebAPP->啟動 tomcat,在網(wǎng)面裡輸入此路徑來看測試結(jié)果(這個(gè)結(jié)裡是ServletTestRunner產(chǎn)生的):http://localhost:8080/web-cactus/ServletTestRunner?suite=test.org.cactusturtor.servlet.TestSampleServlet&xsl=cactus-report.xsl