<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

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产va免费观看| 在线免费播放一级毛片| 九九精品免费视频| 亚洲第一精品在线视频| 三级黄色在线免费观看| 亚洲午夜无码久久久久| 亚洲欧洲日本国产| 88xx成人永久免费观看| 亚洲国产美女福利直播秀一区二区| 日韩免费高清大片在线| 女人被免费视频网站| 国产成人精品日本亚洲专区| 久青草国产免费观看| 亚洲国产三级在线观看| 毛片无码免费无码播放| 亚洲ts人妖网站| 精品国产麻豆免费人成网站| 国内外成人免费视频| 国产精品亚洲lv粉色| 国产亚洲欧洲Aⅴ综合一区 | 91精品成人免费国产片| 亚洲免费在线观看视频| 国产精品99久久免费| 亚洲三级在线观看| 国产免费女女脚奴视频网 | 美女无遮挡免费视频网站 | 99国产精品免费视频观看| 亚洲卡一卡2卡三卡4麻豆| 日本免费一区尤物| 国产免费人成视频在线播放播| 精品剧情v国产在免费线观看| 黄色免费网址在线观看| 久久精品国产亚洲AV麻豆不卡| 九九九精品视频免费| 亚洲欧洲日韩不卡| 成人片黄网站色大片免费观看cn | 亚洲一区精彩视频| 亚洲午夜久久久影院伊人| 999久久久免费精品国产| 亚洲日韩在线观看免费视频| 亚洲视频免费一区|