• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    軟件測試之使用ant進行junit測試

    發布: 2009-4-08 11:46 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 55次 | 進入軟件測試論壇討論

    領測軟件測試網 一.關于Junit
      關于為什么junit.jar包不能放到lib/ext目錄中:
    先談談類裝載器
      java虛擬機和程序都調用ClassLoader類的loadClass的方法來加載。java虛擬機中可有多個類加載器,bootstrap來加載rt.jar(java核心包),ExtClassLoader加載<JAVA_HOME>/jre/lib/ext裝載jar包,AppClassLoader加載classpath環境變量指定的路徑中的類。ExtClassLoader是AppClassLoader的父類。
      再說junit.jar為什么不能放到lib/ext目錄下的原因:
      現在如果把junit.jar包放到ext目錄下,ExtClassLoader類裝載器要把junit.jar先裝載,junit然后要去調用那個被測試類,然而那個被測試類是放在classpath中,被AppClassLoader裝載,因為ExtClassLoader是AppClassLoader的父類,AppClassLoader已經裝載了被測試類,ExtClassLoader并不知道APP已經裝載了這個類,它還要去裝載被測試類,結果找不到這個類。就會拋出異常了。但是如果把被測試類也打包為jar包放到ext目錄底下應該就沒問題了,但這樣做單元測試的時候是不是比較麻煩?
      Junit作為一個單元測試工具,在保證代碼的質量上,起到比較重要的作用.我們使用的為Junit3.8.1版本,用的時候需要把junit.jar添加到項目編譯和運行的classpath中,在最簡單的Junit方式中,我們將所有的測試放到TestCase的子類中, 每個測試必須是public,不接受任何參數,返回void,并且以一個"test"開頭的方法名(最佳實踐,Junit鼓勵你這么做).傳統情況下,setUp()方法創建一個對象的通用集合并將其初始化,這些對象在所有的測試中都將被用到.setUp()與構造方法的區別就是:setUp()在每次測試前被調用.測試完之后,再調用tearDown()方法(可選)在每次測試后執行清除工作.
    使用Junit的好處:
      1、對于xp編程而言,要求在編寫代碼之前先寫測試,這樣可以強制你在寫代碼之前好好的思考代碼(方法)的功能和邏輯,否則編寫的代碼很不穩定,那么你需要同時維護測試代碼和實際代碼,這個工作量就會大大增加。因此在xp編程中,基本過程是這樣的:構思-》編寫測試代碼-》編寫代碼-》測試,而且編寫測試和編寫代碼都是增量式的,寫一點測一點,在編寫以后的代碼中如果發現問題可以較塊的追蹤到問題的原因,減小回歸錯誤的糾錯難度
      2、對于重構而言,其好處和xp編程中是類似的,因為重構也是要求改一點測一點,減少回歸錯誤造成的時間消耗。
      3、對于非以上兩種情況,我們在開發的時候使用junit寫一些適當的測試也是有必要的,因為一般我們也是需要編寫測試的代碼的,可能原來不是使用的junit,如果使用  junit,而且針對接口(方法)編寫測試代碼會減少以后的維護工作,例如以后對方法內部的修改(這個就是相當于重構的工作了)。另外就是因為junit有斷言功能,如果測試結果不通過會告訴我們那個測試不通過,為什么,而如果是想以前的一般做法是寫一些測試代碼看其輸出結果,然后再由自己來判斷結果使用正確,使用junit的好處就是這個結果是否正確的判斷是它來完成的,我們只需要看看它告訴我們結果是否正確就可以了,在一般情況下會大大提高效率。
    如何使用JUnit寫測試?
      最簡單的范例如下:
      1、創建一個TestCase的子類: 
    package junitfaq;
    import java.util.*;
    import junit.framework.*;
    public class SimpleTest extends TestCase {
    public SimpleTest(String name) {
    super(name);
    }
      2、寫一個測試方法斷言期望的結果:
    public void testEmptyCollection() {
    Collection collection = new ArrayList();
    assertTrue(collection.isEmpty());
    }
      注意:JUnit推薦的做法是以test作為待測試的方法的開頭,這樣這些方法可以被自動找到并被測試。
      3、寫一個suite()方法,它會使用反射動態的創建一個包含所有的testXxxx方法的測試套件:
    public static Test suite() {
    return new TestSuite(SimpleTest.class);
    }
      4、寫一個main()方法以文本運行器的方式方便的運行測試:
    public static void main(String args[]) {
    junit.textui.TestRunner.run(suite());
    }
    }
      5、運行測試

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: ant Ant ANT junit Junit JUnit JUNIT 軟件測試


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>