亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
《Junit in Action》學習筆記
作者:網絡轉載 發布時間:[ 2013/2/26 14:21:04 ] 推薦標簽:

1.Junit概述:

    ①Junit測試是程序員測試,即所謂白盒測試,因為程序員知道被測試的軟件如何(How)完成功能和完成什么樣(What)的功能。
    ②Junit測試是自動化測試的一種方式,它使得bug容易被控制。
    ③Junit本質上是一套框架,即開發者制定了一套條條框框,遵循這此條條框框要求編寫測試代碼,如繼承某個類,實現某個接口,可以用Junit進行自動測試了。
    ④由于Junit相對獨立于所編寫的代碼,可以測試代碼的編寫可以先于實現代碼的編寫,XP 中推崇的 test first design的實現有了現成的手段:用Junit寫測試代碼,寫實現代碼,運行測試,測試失敗(狀態條為:紅色),修改實現代碼,再運行測試,直到測試成功(狀態條為:綠色)。以后對代碼的修改和優化,運行測試成功,則修改成功。

2.Junit 相關使用

   ①概念:
    |- TestCase(測試用例)--擴展Junit的TestCase類的類。它以testXXX方法的形式包含一個或多個測試。一個testcase把具有公共行為的測試歸入一組。

    |- TestSuite(測試集合)--組測試。一個test suite是吧多個相關測試歸入一組的快捷方式。例如,如果沒有為TestCase 定義一個test suite,那么Junit會自動提供一個test suite。包含TestCase中所有測試。

    |- TestRunner(測試運行器)--執行test suite的程序。Junit提供了幾個test runner,可以用來執行你的測試。 沒有TestRunner解開,只有一個所偶test runner都繼承的BaseTestRunner. 因此,當我們編寫TestRunner的時候,實際上指的是任何繼承BaseTestRunner的test runner類。

    ②Junit成員共同產生測試結果:
        TestCase + TestSuite + BaseTestRunner =  TestResult

   ③JUnit基本框架的結構
       |- import聲明引入必須的JUnit類
       |- 定義一個測試類從TestCase繼承
       |- 必需一個調用super(String)的構造函數
       |- 測試類包含一些以test..開頭的測試方法
       |- 每個方法包含一個或者多個斷言語句
     當然還有一些其他的內容,但滿足以上幾條的已經是一個JUnit測試了

   ④JUnit的命名規則和習慣
       |- 如果有一個名為ClassA的被測試函數,那么測試類的名稱是TestClassA
      |- 如果有一個名為methodA的被測試函數,那么測試函數的名稱是testMethodA


   ⑤介紹Test Case、test suite、Test Runner常規使用: (使用的Eclipse自帶的Junit)。
       |-Test Case
Java代碼 復制代碼

    import junit.framework.*;  //導入junit.jar包  
      /*TestXxx繼承自TestCase(命名規范:一般在類名前加Test)*/ 
      public class TestXxx extends TestCase{     
     /*測試方法的具體實現(命名規范:以小寫的testXxx形式。否則Junt不會自動識別該方法為測試方法)*/ 
     public void testXxx(){};   
      } 

[java] view plaincopy

    import junit.framework.*;  //導入junit.jar包 
      /*TestXxx繼承自TestCase(命名規范:一般在類名前加Test)*/ 
      public class TestXxx extends TestCase{    
     /*測試方法的具體實現(命名規范:以小寫的testXxx形式。否則Junt不會自動識別該方法為測試方法)*/ 
     public void testXxx(){};  
      } 


             
       |-test suite
Java代碼 復制代碼

    import junit.framework.Test;  
    public static Test suite(){  
       TestSuite suite = new TestSuite();   //實例化  
         suite.addTest(new MoneyTest("testXxx"));  //添加測試方法  
         suite.addTestSuite(TestMoney.class);  //添加整個測試到集合中  
     } 

[java] view plaincopy

    import junit.framework.Test; 
    public static Test suite(){ 
       TestSuite suite = new TestSuite();   //實例化 
         suite.addTest(new MoneyTest("testXxx"));  //添加測試方法 
         suite.addTestSuite(TestMoney.class);  //添加整個測試到集合中 
     } 


          
       |- Test Runner (junit.textui.TestRunner)
Java代碼 復制代碼

    public static void main(String args[]){  
      junit.textui.TestRunner.run(suite()); //將testsuite 執行。  
     } 

[java] view plaincopy

    public static void main(String args[]){ 
      junit.textui.TestRunner.run(suite()); //將testsuite 執行。 
     } 

上一頁12下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 免费欧美一级片 | 黄色软件香蕉视频 | 天天射夜夜骑 | 日韩一区二区三区四区五区 | 久久这里只有精品免费看青草 | 欧美久久亚洲精品 | 小明在看看永久免费平台 | 三级黄色片免费 | 精产国品一区 | 黄色小视频在线观看 | 波多野结衣手机在线视频 | 午夜影院福利社 | 天天操人人射 | 国产在线精品观看 | 在线视频天堂 | 欧美黑人性猛交╳xx╳动态图 | 中文字幕日韩精品在线 | 成人毛片在线播放 | 国产成在线观看免费视频 | 白丝丝袜高跟国产在线视频 | 日本高清一区二区三区水蜜桃 | 一级做a爱片特黄在线观看免费看 | 亚洲成人免费看 | 亚洲一区欧美在线 | 欧美xx性| 久久精品波多野结衣 | 波多野结衣50连精喷在线 | 国模啪啪一区二区三区 | 插鸡视频在线观看 | 午夜影院网页 | 亚洲人体在线 | 亚洲最大的视频网站 | 天天射夜夜骑 | 伊人婷婷 | 午夜影院啪啪 | 午夜视频免费在线观看 | 亚洲午夜精品久久久久久抢 | 97精品视频在线观看 | 日本免费一级视频 | 成年大片免费高清在线观看 | 国产精品欧美亚洲韩国日本99 |