隨筆 - 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的應(yīng)用程序,對應(yīng)的版本是StrutsTest2.0??梢詮?/span>http://sourceforge.net/projects/strutstestcase/
          下載。
              下面介紹一下它的使用。直接把解壓的下載文件保存到項目的classpath中,然后再引入這兩個jar文件,就可以使用了。
              右擊項目中任何一個文件夾,選擇news的others,這時就會出現(xiàn)Junit的文件夾,展開文件夾選擇JUnit Test Case ,點擊下一步,在Name中填寫測試程序的名字,一般名字必須以Test結(jié)尾。然后構(gòu)選setup()和teardown()選項,選擇需要測試的Action,點擊下一步,選擇需要測試的方法,點擊Finish即可自動生成測試文件。測試文件中自動生成了setup()和teardown()方法,用來在測試方法執(zhí)行前初始化測試環(huán)境和在執(zhí)行后撤銷測試環(huán)境。測試方法都是以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進行運行,如果沒有錯誤的話則顯示綠色 ,否則顯示紅色。

          對程序的說明:
          主要函數(shù)和作用:

          -          setContextDirectory,設(shè)置web應(yīng)用的根

          -          setRequestPathInfo,設(shè)置request的請求

          -          addRequestParameter,將參數(shù)和對應(yīng)的值加入request

          -          actionPerform,執(zhí)行這個請求

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

          -          verifyForwardPath,驗證forwardpath是否正確

          -          verifyNoActionErrors,驗證在action執(zhí)行過程中沒有ActionError產(chǎn)生

          -          verifyActionErrors,驗證在action執(zhí)行過程中產(chǎn)生的ActionError集合的內(nèi)容

          具體詳細的內(nèi)容請參見對應(yīng)的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!  回復(fù)  更多評論
            
          主站蜘蛛池模板: 遂溪县| 友谊县| 双辽市| 宁化县| 新兴县| 师宗县| 泰兴市| 原阳县| 汉源县| 疏附县| 湖州市| 定边县| 临汾市| 西城区| 韩城市| 哈巴河县| 宁津县| 武威市| 米脂县| 阿城市| 讷河市| 澄江县| 色达县| 龙泉市| 临汾市| 英山县| 南丰县| 湾仔区| 定西市| 余江县| 应用必备| 蒲江县| 松桃| 汕头市| 宝应县| 麻城市| 桂林市| 潼南县| 云南省| 新龙县| 耒阳市|