亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-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
主站蜘蛛池模板: 老人与老人免费a级毛片 | 国产视频福利一区 | 午夜视频入口 | 一级黄色片免费播放 | 最新色站 | 亚洲国产精品综合欧美 | 天天舔天天 | 黄色影院在线看 | 深夜免费看片 | 日本韩国欧美在线观看 | 在线视频一二三区 | 国产1024一区二区你懂的 | 国产午夜毛片v一区二区三区 | 永久在线毛片免费观看 | 成人黄漫画免费观看网址 | 国产欧美亚洲精品第二区首页 | 欧美孕妇乱大交xxxxx | 午夜免费影院 | 久久天天躁狠狠躁夜夜免费观看 | 国产手机精品视频 | 高跟丝袜hdvideossex | 成人免费视频观看无遮挡 | 色婷婷色综合激情国产日韩 | 欧美一级黄色片 | 一级毛片免费一级直接观看 | 天天操天天玩 | 波多野结衣福利视频 | 亚洲小视频网站 | 国产精品天干天干在线综合 | 国产精品视频一 | 2019亚洲日韩新视频 | 伊人天天| 一区二区三区高清在线观看 | 国产网曝手机视频在线观看 | 永久免费看毛片 | 成品片a免费入口 | 亚洲综合日韩在线亚洲欧美专区 | 久草手机视频在线 | 日韩综合nv一区二区在线观看 | 久久国产成人精品国产成人亚洲 | 一本大道道无香蕉综合在线 |