結合JUnit來說明反射和注解的用途


 

  沒有反射,很多框架就都不存在了。(No Reflection, no most frameworks).

 

JUnit簡單介紹

  JUnit(3.8,4.x):基於Java的單元測試。

  JUnit 3.8是基於反射,JUnit 4.x是基於反射和注解的。

  使用時首先導入jar包:在項目名上右鍵,配置Java Build Path,選擇Add Library..,然后選擇JUnit。之后選擇版本3或者4。

  如果選JUnit 3,則加好后如下:

 

 

 

    測試程序運行結果如下圖:

  

 

  Keep the bar green to keep the code clean.

 

  JUnit 3中方法必須以test開頭才能被找到。說明是通過反射來找到並調用方法。

  

  如果選用JUnit 4,則測試例子代碼可以如下:

import org.junit.Test;

public class Test2
{
      @Test
      public void hello()
      {
             System.out.println("Hello World!");
      }
}

  

  通過一個注解,怎么找到要執行的方法?

 

  JUnit 4的一般執行流程

  首先,獲取待測試類所對應的Class對象,然后就可以獲取其中的所有方法(JUnit要求所有方法都是public的)。

  獲取了所有方法的Method對象,對於每個Method對象,通過調用isAnnotationPresent(Test.class)方法,可以檢查方法是否有名為Test的注解,如果有這個注解,則調用Method對象的invoke()方法來執行這個方法。

 

參考資料

  張龍老師Java SE系列視頻教程。

  單元測試不是為了證明你是對的,而是證明你沒有錯誤。

  Writing Secure Code(編寫安全的代碼):Input is evil.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM