亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-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
主站蜘蛛池模板: 日韩人成 | 91精品国产自产在线观看高清 | 算你色永久免费视频播放 | 国产专区青青草原亚洲 | 午夜嘿嘿 | 国产精品成人观看视频免费 | 一级一级一级毛片 | 22eee在线播放成人免费视频 | 国产日韩欧美网站 | 色在线免费 | 最近免费中文字幕视频高清在线看 | 99视频精品全部 在线 | 欧美一级一一特黄 | 99精品伊人久久久大香线蕉 | 香蕉视频破解 | 亚洲人成网站在线观看播放青青 | 免费一级欧美大片视频在线 | 深夜免费在线观看 | 德国free性video极品 | 成人三级在线观看 | 午夜第一页 | 福利体验区120秒免费观看 | 美国黄色一级毛片 | 性xxx欧美| 天天狠狠干 | 天天摸天天操天天爽 | 国产小视频在线观看免费 | 日韩视频精品 | 日本三级一区二区三区 | 欧美做a一级视频免费观看 欧美最猛性xxxxx短视频 | 精品久久一区二区 | 一个人看的免费视频www中国 | 狠狠色丁香婷婷综合小时婷婷 | 色视频免费观看高清完整 | 久久精品国产一区 | 日日噜噜夜夜狠狠视频buoke | 国产一有一级毛片视频 | 一级特黄aaa免费 | 天天骑天天射 | 国产伦精品一区二区免费 | 国产日产欧美 |