熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

JUNIT簡單實例及模板

2013-11-23 20:37:42  來源: Java開源技術 

    開發過程中進行單元測試盡可能盡早的將BUG找出是開發者應該做的JUNIT為JAVA開發者提供了一個很好的測試機制以下是一個簡單的JUNIT應用實例也是初學可供參考的JUNIT模板
   
   

  package junitsineattemplet; import javautilHashtable; import junitframeworkAssert; import junitframeworkTestCase; import junitframeworkTestSuite; public class JunitB extends TestCase{ /** *//**定義你需要測試的類及用到的變量*****************************/ public Hashtable hasha=null;// public Hashtable hashb=null; /** *//*******************************************************/ public JunitB(String name){ super(name);//創建子類 } /** *//**用setUp進行初始化操作*/ protected void setUp() throws Exception { supersetUp(); hasha =new Hashtable();//這裡 } /** *//**用tearDown來銷毀所占用的資源*/ protected void tearDown() throws Exception { supertearDown(); //Systemgc(); } /** *//**寫一個測試方法斷言期望的結果**/ public void testBodyStatus() { //hasha =new Hashtable();//有此句後也可去掉setUp() tearDown() assertNotNull(hasha); //hashaput(lets try again);//testerror版 assertTrue(hashaisEmpty());//期望為空 } /** *//**再寫一個測試方法斷言期望的結果**/ public void testBodySame() { //hashb=(Hashtable)hashaclone(); //testerror版 hashb=hasha; //testOK 版 AssertassertSame(hashahashb); } /** *//**suite()方法使用反射動態的創建一個包含所有的testXxxx方法的測試套件**/ public static TestSuite suite() { return new TestSuite(JunitBclass); } /** *//****寫一個main()運行測試*****************/ public static void main(String args[]) { junittextuiTestRunnerrun(suite());//以文本運行器的方式方便的 //junitswinguiTestRunnerrun(JunitBclass); } }


以上為JUNIT的簡單測試樣例不需過多考慮性能及規范但資深JAVA開發者建議
   
   一不要在測試用例的構造函數中做初始化
       答案是重載測試用例的setUp()方法進行初始化
   
   二不要假定測試用例中測試的執行次序
       好的習慣是保持測試之間的獨立性使得它們在任何次序下執行的結果都是相同的
   
   三測試要避免人工干預
       經驗二講的是不同的測試要避免相關性而經驗三講的其實就是測試要避免自相關
   
   四在子類中調用父類的setUp() 和tearDown()
   
   五不要硬性規定數據文件的路徑
   
   六把測試的代碼和被測的代碼放在同樣的目錄下
   
   七正確命名測試
   
   八書寫測試時要考慮地區和國家設置
   
   九利用Junit 的自動異常處理書寫簡潔的測試代碼
       事實上在Junit 中使用trycatch 來捕獲異常是沒有必要的Junit 會自動捕獲異常那些沒有被捕獲的異常就被當成錯誤處理
   
   十充分利用Junit 的assert/fail 方法
        assertSame()用來測試兩個引用是否指向同一個對象
        assertEquals()用來測試兩個對象是否相等
   
   十一確保測試代碼與時間無關
   
   十二使用文檔生成器做測試文檔


From:http://tw.wingwit.com/Article/program/Java/ky/201311/28790.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.