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

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

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

    在 Eclipse中使用JUnit實例

    測試對于保證軟件開發質量有著非常重要的作用,單元測試更是必不可少,JUnit是一個非常強 大的單元測試包,可以對一個/多個類的單個/多個方法測試,還可以將不同的TestCase組合成TestSuit,使測試 任務自動化。Eclipse同樣集成了JUnit,可以非常方便地編寫TestCase

      我們創 建一個Java工程,添加一個example.Hello類,首先我們給Hello類添加一個abs()方法,作用是返 回絕對值:

    Image
    (圖一)
      下一 步,我們準備對這個方法進行測試,確保功能正常。選中Hello.java,右 鍵點擊,選擇New->JUnit Test Case
    Image

    (圖二)
       Eclipse會詢問是否添加junit.jar包,確定后新建一個HelloTest類,用來測試Hello類。
    Image

    (圖三)
      選中setUp()tearDown(),然后點擊“Next”
    Image

    (圖 四)  
      選擇要 測試的方法,我們選中abs(int)方法,完成后在HelloTest.java中輸入:
    Image


    (圖五)

       JUnit會以以下順序執行測試:(大致的代碼

    try {
    HelloTest test = new HelloTest(); //
    建立測試類實例
    test.setUp(); //
    初始化測試環境
    test.
    testAbs(); // 測試某個方法
    test.tearDown(); //
    清理資源
    }
    catch…


      setUp()是建立測試環境,這里創建一個Hello類的實例;tearDown()用于清理資源,如釋放打開的文件等等。以test開頭的方法被認為是測試方法,JUnit會依次執行testXxx()方法。在testAbs()方法中,我們對abs()的測試分別選擇 正數,負數和0,如果方法返回值與期待結果相同,則assertEquals不會產生異常。

      如果有 多個testXxx方法,JUnit會創建多個XxxTest實例,每次 運行一個testXxx方法,setUp()tearDown()會在testXxx前后被調用,因此,不要在一個testA()中依賴testB()

      直接運 行Run->Run As->JUnit Test,就可 以看到JUnit測試結果:
    Image

    (圖六)
      綠色表 示測試通過,只要有1個測試未通過,就會顯示紅色并列出未通過測試的方法。可以試圖改變abs()的代碼,故意返回錯誤的結果(比如return n+1;),然后再運行JUnit就會報告錯誤。

      如果沒 有JUnit面板,選擇Window->Show View->Other,打開JUnitView
    Image

    (圖七)
      JUnit通過單元測試,能在開發階段就找出許多Bug,并且,多個Test Case可以組合成Test Suite,讓 整個測試自動完成,尤其適合于XP方法。每增加一個小的新功能或者對代碼進行了小的修改,就立刻運行一 遍Test Suite,確保新增和修改的代碼不會破壞原有的功能,大大增強軟件的可維護 性,避免代碼逐漸腐爛

                                                                                                                                                                                                                                                            

    初次學會使用Junit的使用是通過這篇文章的(上文),自己嘗試跟著做了一遍,結果發現它上面提供的代碼例子是錯誤 的,不過流程、圖片都很清楚。所以你可以先看看它上面是怎么說的,至于測試的代碼我稍做了改動,為的是只要說明問題就行——其實不難。
    被測試的類代碼:
    public class HelloJunit {
        public static int abs(int n){
            return n>=0?n:(-n);
        }
    }
    Junit
    的測試代碼:
    import junit.framework.TestCase;
    public class HelloJunitTest extends TestCase {
        public void testAbs() {
          assertEquals(HelloJunit.abs(10),10); 
          assertEquals(HelloJunit.abs(-10),10);
        }
    }
    主要代碼 行為assertEquals(HelloJunit.abs(10),10); 
    其中參數 的意義為:
    HelloJunit.abs(10)執行類HelloJunitabs方法(參數為10,表示求10的絕對值)。
    逗號后面 的10表示為預期的結果(期望值)。
    該行表示 將期望值(10)與實際值(類HelloJunitabs方法執行結果)進行比較,如果不相 等則拋出異常。
    這里只是 一個簡簡單單的例子,Junit被大家稱為優秀的白盒自動化測試框架,當然只有自己用過了才會了解。網上有許多的資料介紹這個框架,筆 者也是從自身情況出發來學習它的。當然學習使用它是需要有一定基礎的,筆者擁有CC++的基礎,對Java的學習也開始不久,所以在這里將力 所能及的知識共享出來與大家分享,希望能夠共同提高。另外筆者是專職的測試人員,所以在描述一些問題時大多都會以測試的角度來闡述。學習此框架的目的在于 能夠在工作中進行白盒測試,在以后的介紹中還會介紹白盒測試相關的理論和工具,希望大家能夠一起提高進步。

    posted on 2010-07-20 09:40 smallfa 閱讀(1122) 評論(0)  編輯  收藏 所屬分類: myeclipse

    <2010年7月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    公告

    smallfa
    博客園
    C++博客
    博客生活
    Blogjava
    足球博客
    微博
    Redsaga

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    Ajax

    Blogs

    DB

    java

    Open source

    ORM

    Tools/Help

    vedio Tech

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 69式互添免费视频| 无码精品国产一区二区三区免费 | 国产一级在线免费观看| 国产乱子伦精品免费无码专区 | 99久久99久久精品免费观看| 久久久综合亚洲色一区二区三区| 最近免费中文字幕MV在线视频3| 国产亚洲精品看片在线观看| 久久国产福利免费| 亚洲av成人无码久久精品| 少妇太爽了在线观看免费视频| 麻豆亚洲av熟女国产一区二| 97av免费视频| 亚洲日韩一中文字暮| 日韩一级免费视频| www在线观看播放免费视频日本| 中文字幕亚洲无线码| 先锋影音资源片午夜在线观看视频免费播放 | 国产亚洲综合网曝门系列| 99re6在线视频精品免费下载| 亚洲天堂中文字幕在线观看| 色窝窝免费一区二区三区| 国产一区二区三区亚洲综合| 久久久精品国产亚洲成人满18免费网站| 国产成人AV免费观看| 久久狠狠爱亚洲综合影院| 国产三级免费观看| 久久成人a毛片免费观看网站| 亚洲午夜久久久精品电影院| 国产精品视_精品国产免费| xvideos永久免费入口| 中文字幕亚洲精品| 在线视频免费国产成人| 国产成人无码区免费内射一片色欲 | 亚洲AV永久无码精品网站在线观看 | 国国内清清草原免费视频99 | 亚洲一卡2卡3卡4卡国产网站| 国产大片91精品免费看3 | 久久久久国色AV免费看图片| 亚洲阿v天堂在线2017免费| 亚洲av激情无码专区在线播放|