Picses' sky

          Picses' sky
          posts - 43, comments - 29, trackbacks - 0, articles - 24

          Eclipse快速上手指南之使用JUnit

          Posted on 2007-01-30 19:47 Matthew Chen 閱讀(295) 評論(0)  編輯  收藏
          Eclipse快速上手指南之使用JUnit

          摘要:
          ? ? JUnit是一個非常強大的單元測試包,可以對一個/多個類的單個/多個方法測試

           Eclipse中使用JUnit

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

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

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

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

            選中setUp()和tearDown(),然后點擊“Next”:

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

              

             JUnit會以以下順序執(zhí)行測試:(大致的代碼
          try {
          HelloTest test = new HelloTest(); // 建立測試類實例
          test.setUp(); // 初始化測試環(huán)境
          test.testAbs(); // 測試某個方法
          test.tearDown(); // 清理資源
          }
          catch…

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

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

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

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

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

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

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 乌兰浩特市| 盐边县| 建水县| 嘉荫县| 保山市| 沾化县| 观塘区| 明溪县| 当阳市| 阿瓦提县| 阜宁县| 兴仁县| 阿合奇县| 元氏县| 石嘴山市| 黎城县| 平凉市| 高阳县| 久治县| 宁夏| 延津县| 临湘市| 龙海市| 浦江县| 商南县| 霞浦县| 关岭| 基隆市| 买车| 通海县| 娱乐| 淳安县| 吉木萨尔县| 崇信县| 尚志市| 玉环县| 台山市| 绥德县| 汾西县| 平定县| 武川县|