<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    工作小驛

    Ninja!

    BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
      103 Posts :: 0 Stories :: 36 Comments :: 0 Trackbacks
    一、JUnit簡介
      JUnit是基于面向?qū)ο髽?gòu)建的java單元測試框架。
      JUnit是開放源代碼項目,可按需要進(jìn)行擴(kuò)展。
     
     二、安裝JUnit
      首先獲取JUnit的軟件包,從http://www.junit.org下載最新的軟件包。
      將軟件包在適當(dāng)?shù)哪夸浵陆獍?br />   這樣在安裝目錄下找到一個名為junit.jar的文件,將這個jar文件加入
     
     CLASSPATH系統(tǒng)變量。
     
     三、JUnit框架介紹:
     一)TestCase--測試用例,對每個測試類,都要定義一個測試用例。
     JUnit支持兩種運(yùn)行單個測試的方法:靜態(tài)的和動態(tài)的方法。
     1、靜態(tài)的方法就是覆蓋TestCase類的runTest()方法,一般是采用內(nèi)部類的方式
     
     創(chuàng)建一個測試實例:
     TestCase test01 = new testCar("test getWheels") {
      public void runTest() {
      testGetWheels();
      }
     }
     采用靜態(tài)的方法要注意要給每個測試一個名字,這樣你就可以區(qū)分哪個測試失敗
     
     了。
     
     2、動態(tài)的方法是用內(nèi)省來實現(xiàn)runTest()以創(chuàng)建一個測試實例。這要求測試的名
     
     字就是需要調(diào)用的測試方法的名字:
     TestCase test01 = new testCar("testGetWheels");
     JUnit會動態(tài)查找并調(diào)用指定的測試方法。動態(tài)的方法很簡潔,但如果你鍵入了錯
     
     誤的名字就會得到一個令人奇怪的NoSuchMethodException異常。動態(tài)的方法和靜
     
     態(tài)的方法都很好,你可以按照自己的喜好來選擇。
     
     二)TestSuite
     一旦你創(chuàng)建了一些測試實例,下一步就是要讓他們能一起運(yùn)行。我們必須定義一
     
     個TestSuite。在JUnit中,這就要求你在TestCase類中定義一個靜態(tài)的suite()方
     
     法。suite()方法就像main()方法一樣,JUnit用它來執(zhí)行測試。在suite()方法中
     
     ,你將測試實例加到一個TestSuite對象中,并返回這個TestSuite對象。一個
     
     TestSuite對象可以運(yùn)行一組測試。
     TestSuite和TestCase都實現(xiàn)了Test接口,而Test接口定義了運(yùn)行測試所需的方法
     
     。這就允許你用TestCase和TestSuite的組合創(chuàng)建一個TestSuite。
     public static Test suite() {
      TestSuite suite= new TestSuite();
      suite.addTest(new testCar("testGetWheels"));
      suite.addTest(new testCar("testGetSeats"));
      return suite;
     }
     public static Test suite() {
      return new TestSuite(testCar.class);
     }
     
     三)TestRunner
     有了TestSuite我們就可以運(yùn)行這些測試了,JUnit提供了三種界面來運(yùn)行測試
     [Text UI] junit.textui.TestRunner
     [AWT UI] junit.awtui.TestRunner
     [Swing UI] junit.swingui.TestRunner
     java junit.textui.TestRunner yourTestclass
     
     Fixture
     如果需要在一個或若干個的類執(zhí)行多個測試,這些類就成為了測試的context。在
     
     JUnit中被稱為Fixture。當(dāng)你編寫測試代碼時,你會發(fā)現(xiàn)你花費(fèi)了很多時間配置/
     
     初始化相關(guān)測試的Fixture。將配置Fixture的代碼放入測試類的構(gòu)造方法中并不
     
     可取,因為我們要求執(zhí)行多個測試,我并不希望某個測試的結(jié)果意外地(如果這
     
     是你要求的,那就另當(dāng)別論了)影響其他測試的結(jié)果。通常若干個測試會使用相
     
     同的Fixture,而每個測試又各有自己需要改變的地方。
     為此,JUnit提供了兩個方法,定義在TestCase類中。
     
     protected void setUp() throws java.lang.Exception
     protected void tearDown() throws java.lang.Exception
     
     覆蓋setUp()方法,初始化所有測試的Fixture,如建立數(shù)據(jù)庫連接,將每個測試
     
     略有不同的地方在testXXX()方法中進(jìn)行配置。
     覆蓋tearDown(),釋放你在setUp()中分配的永久性資源,如數(shù)據(jù)庫連接。
     當(dāng)JUnit執(zhí)行測試時,它在執(zhí)行每個testXXXXX()方法前都調(diào)用setUp(),而在執(zhí)行
     
     每個testXXXXX()方法后都調(diào)用tearDown()方法,由此保證了測試不會相互影響。
     
     四)Assert
     Assert類中定義了相當(dāng)多的assert方法,主要有assert(),assertEquals(),
     
     assertNull(), assertSame(), assertTrue(), fail()等方法。
     
     Faile失敗是一個期望的被assert方法檢查到的結(jié)果。
     Error錯誤則是意外的問題引起的,如ArrayIndexOutOfBoundsException。
     
     
     四、測試流程:
     1. 擴(kuò)展TestCase類;
     2. 覆蓋runTest()方法(可選);
     3. 對應(yīng)測試目標(biāo)類書寫testXXXXX()方法;
     4、擴(kuò)展TestSuite類,重載suite()方法,實現(xiàn)自定義的測試過程;
     5. 運(yùn)行TestRunner進(jìn)行測試;
    http://www.chinaitlab.com/www/news/article_show.asp?id=24311
    posted on 2007-09-05 14:55 王君 閱讀(543) 評論(0)  編輯  收藏 所屬分類: JUnit

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 成人毛片100免费观看| 亚洲成人一级电影| 亚洲午夜一区二区电影院| a级男女仿爱免费视频| 亚洲欧洲中文日韩av乱码| 免费一级做a爰片久久毛片潮| 在线观看亚洲免费| 粉色视频免费入口| 亚洲精品亚洲人成在线观看下载| 一级黄色免费毛片| 亚洲中文字幕无码久久2017| 三年在线观看免费观看完整版中文| 亚洲乱码中文字幕久久孕妇黑人| 99麻豆久久久国产精品免费 | 亚洲网站在线观看| 小日子的在线观看免费| 亚洲高清视频免费| 搡女人免费视频大全| 亚洲AV日韩AV一区二区三曲| 亚洲国产a级视频| 永久免费av无码网站yy| 亚洲自偷自拍另类图片二区| 嫩草视频在线免费观看| 成人免费网站久久久| 亚洲日本va午夜中文字幕一区| 大学生一级毛片免费看| 羞羞视频网站免费入口| 亚洲av无码乱码国产精品| 国产卡一卡二卡三免费入口| 农村寡妇一级毛片免费看视频| 亚洲A∨无码无在线观看| 成人爽A毛片免费看| 一级毛片免费一级直接观看| 亚洲网红精品大秀在线观看| 黄网址在线永久免费观看| 9久热这里只有精品免费| 亚洲乱码卡三乱码新区| 亚洲精品国产V片在线观看| 蜜臀AV免费一区二区三区| 国产午夜亚洲精品不卡免下载| 亚洲ⅴ国产v天堂a无码二区|