亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-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
主站蜘蛛池模板: 一个人看的www免费视频 | 刺激花蒂抽搐视频在线看 | 任我鲁这里有精品视频在线播 | 欧美在线观看一区 | 在线永久免费播放视频 | 亚洲欧美在线观看播放 | 精品女同一区二区三区免费播放 | 免费精品精品国产欧美在线 | 国产免费一级精品视频 | 在线观看视频免费 | 一级毛片无遮挡免费全部 | 欧美日韩一卡二卡 | 久久精品久久精品国产大片 | 欧美不卡在线观看 | 曰批女人视频在线观看 | 亚洲国产高清一区二区三区 | 91香蕉视频成人 | 国产精品亚洲欧美大片在线看 | 国产日韩在线观看视频 | 免费观看黄a一级视频日本 免费观看黄a一级视频 | 福利在线视频观看 | 欧美日本成人 | 在线a网站 | 免费观看日韩大尺码观看 | 日日夜夜操美女 | 成人深爱网 | 国产精品成人免费视频不卡 | h片在线观看视频 | 在厨房被强行侵犯中文字幕 | 乱人伦中文视频在线 | 美女黄站 | 日韩精品国产一区 | 91最新地址永久入口 | 天天插天天射天天干 | 午夜私人影院在线观看 | 高清一级做a爱过程免费视频 | 日本一区二区在线 | 黄黄视频网站 | 国产免费a视频 | 中文字幕免费在线播放 | 亚洲一区2区三区4区5区 |