隨筆 - 72  文章 - 28  trackbacks - 0
          <2005年6月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          常用鏈接

          留言簿(4)

          隨筆分類(66)

          隨筆檔案(72)

          文章檔案(19)

          收藏夾

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

                  junitjava中書寫unit testframework,目前一些流行的unit test工具大都都是在junit上擴展而來的。目前它的版本是junit3.8.1,可以從www.junit.org上下載。
                    StrtusTestjunit的擴展當前的版本是StrutsTest2.1.0,在這個版本中不支持Struts1.0。如果需要測試struts1.0的應用程序,對應的版本是StrutsTest2.0。可以從http://sourceforge.net/projects/strutstestcase/
          下載。
              下面介紹一下它的使用。直接把解壓的下載文件保存到項目的classpath中,然后再引入這兩個jar文件,就可以使用了。
              右擊項目中任何一個文件夾,選擇news的others,這時就會出現Junit的文件夾,展開文件夾選擇JUnit Test Case ,點擊下一步,在Name中填寫測試程序的名字,一般名字必須以Test結尾。然后構選setup()和teardown()選項,選擇需要測試的Action,點擊下一步,選擇需要測試的方法,點擊Finish即可自動生成測試文件。測試文件中自動生成了setup()和teardown()方法,用來在測試方法執行前初始化測試環境和在執行后撤銷測試環境。測試方法都是以test開頭的,如(testDoExecute()).
               下面在測試方法中就可以填寫自己需要的東西了。如下面的例子:
          package com.ezcross.SMS.common.struts.action;

          import servletunit.struts.MockStrutsTestCase;

          /**
           * @author paul.ping(wp.huang@ezcross.com)
           *
           * 類名:SMS10Test
           * 操作:
           
          */

          public class LoginActionTest extends MockStrutsTestCase {
              
          /*
               * @see TestCase#setUp()
               
          */

              
          protected void setUp() throws Exception {
                  super.setUp();
              }


              
          /*
               * @see TestCase#tearDown()
               
          */

              
          protected void tearDown() throws Exception {
                  super.tearDown();
              }


              
          public void testDoExecute() {
                  
          try

                  
          {
                      addRequestParameter(
          "user_name","cka"
          );
                      addRequestParameter(
          "passward","111111"
          );
                      setRequestPathInfo(
          "/login"
          );
                      System.
          out.println("hava completed adding data"
          );
                      actionPerform();
                      System.
          out.println("begin verify"
          );
                      verifyForward(
          "dologin"
          );
                      verifyForwardPath(
          "/Login.jsp"
          );
                      verifyNoActionErrors();
                      System.
          out.println("end verify"
          );
                      
                      
          //assertNotNull(testObject.doExecute(null,null,null,null,null));

                  }

                  
          catch (Exception ee)
                  
          {
                      System.
          out
          .println(ee.toString());
                  }

              }


          }

          填寫完程序后,右擊程序,選擇run下的JUnit Test進行運行,如果沒有錯誤的話則顯示綠色 ,否則顯示紅色。

          對程序的說明:
          主要函數和作用:

          -          setContextDirectory,設置web應用的根

          -          setRequestPathInfo,設置request的請求

          -          addRequestParameter,將參數和對應的值加入request

          -          actionPerform,執行這個請求

          -          verifyForward,驗證forward的名字是否正確

          -          verifyForwardPath,驗證forwardpath是否正確

          -          verifyNoActionErrors,驗證在action執行過程中沒有ActionError產生

          -          verifyActionErrors,驗證在action執行過程中產生的ActionError集合的內容

          具體詳細的內容請參見對應的javaDoc



          posted on 2005-06-03 15:53 kelly 閱讀(1672) 評論(1)  編輯  收藏 所屬分類: java

          FeedBack:
          # re: 在Eclipse中使用JUnit進行單元測試 2005-10-08 20:46 ken
          good.thank you!  回復  更多評論
            
          主站蜘蛛池模板: 唐山市| 克山县| 厦门市| 濮阳市| 尉氏县| 九龙城区| 富蕴县| 分宜县| 忻城县| 邢台县| 大田县| 临桂县| 织金县| 泾阳县| 大化| 韩城市| 陆川县| 郸城县| 桂平市| 宜昌市| 库伦旗| 张家川| 六盘水市| 黄龙县| 苍溪县| 建德市| 礼泉县| 夏邑县| 留坝县| 新乡市| 夏河县| 阜阳市| 资源县| 出国| 怀远县| 饶平县| 成都市| 海晏县| 安国市| 崇文区| 赤城县|