java tech

          write ones

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            1 隨筆 :: 2 文章 :: 1 評論 :: 0 Trackbacks

          2010年3月5日 #

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


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



          二、   Cactus 是一個可以用來做servlet測試(不是調(diào)試)的東東,查了半天才搞明白:
          1、下載它:http://jakarta.apache.org/site/downloads/downloads_cactus.cgi
          2、還要下載相關的一個commons-codec:http://commons.apache.org/codec/download_codec.cgi
          3、tomcat 配置:
          復制這幾個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>







          當然還有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裡,建立一個測試用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,復制到這個包裡,改下第一行的包名為: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,復制後改第一包名為:package test.org.cactusturtor.servlet;

          6.再把cactus-1.8.1-bin\samples\servlet\src\main\webapp\WEB-INF\cactus-report.xsl復制到項目的webroot裡,
          在查看執(zhí)行結(jié)果時要用到這個文件去顯示

          7.再在webroot下建個文件夾test,裡面建個test.jsp,有一個test就是查這個JSP文件能否返回(裡必須有一個正文是:Hello !)
          參考TestSampleServlet.java,即endRequestDispatcherForward()裡的這一行會檢查:
          assertTrue("Text missing 'Hello !' : [" + theResponse.getText() + "]",
                      theResponse.getText().indexOf("Hello !") > 0);

          至此終於準備完成了,測一下吧:
          發(fā)布WebAPP->啟動 tomcat,在網(wǎng)面裡輸入此路徑來看測試結(jié)果(這個結(jié)裡是ServletTestRunner產(chǎn)生的):http://localhost:8080/web-cactus/ServletTestRunner?suite=test.org.cactusturtor.servlet.TestSampleServlet&xsl=cactus-report.xsl





          posted @ 2010-03-05 13:22 java學海無涯 閱讀(1614) | 評論 (1)編輯 收藏

          僅列出標題  
          主站蜘蛛池模板: 若尔盖县| 白城市| 黔江区| 安乡县| 卓资县| 咸丰县| 石家庄市| 龙南县| 安阳县| 鄱阳县| 中方县| 诸城市| 滁州市| 桦甸市| 盖州市| 江城| 玛纳斯县| 迁西县| 泸州市| 仪征市| 吉木萨尔县| 罗平县| 长宁区| 万山特区| 喜德县| 兴安盟| 拉萨市| 鸡西市| 阳信县| 朔州市| 安吉县| 盈江县| 长治市| 东乡县| 东安县| 泌阳县| 宜宾县| 巴塘县| 稻城县| 康定县| 宜昌市|