Junit測試類、註解、元註解個人小結

第一大塊 Junit測試類、註解、元註解

一、Junit測試類

  • a.必須部分,在前面加上@Test註解,就可以進行單獨測試了
  • b.Junit測試類常用註解

@Before 初始化,自動執行
@Test 測試段語句
@After 釋放資源,自動執行

二、註解

  • a.格式:都是帶返回值的方法

public @interface 註解名{
屬性列表 基本數據類型|String|枚舉|註解|以上類型的數組;
}

  • b.使用註解時需要初始化註解裏沒有初始化的屬性;
  • c.常用註解:

@Overide 檢測方法是否繼承自父接口
@Deprecated 表示方法已經過時
@SuppressWarmings 壓制這個類上的警告

三、元註解

@Target:描述註解能夠作用的位置
使用(只寫了該如何賦值):枚舉類型[]|數組 ElementType.TYPE|表示註解只能作用再類上、
ElementType.METHOD|表示該類只能作用在方法上、
ElementType|FIEID可以作用於成員變量上
@Retention:描述註解被保留的階段(3個階段 source|classs|runtime)
使用 RetentionPolicy.RUNTIME 表示註解會一直保留到3個階段都結束
@Documented:描述註解是否被抽取到API文檔中
@Inherited:描述註解是否被子類繼承(被該元註解描述的註解所修飾的類,任何繼承該類的子類都將會繼承這個被元註解修飾的註解)

第二大塊 類對象、各種成員對象

一、類對象

Class.forName(“全類名(包路徑+類名)”);
類名.class;
對象.getClass();

二、成員變量對象

  • a.獲取成員變量對象方法

Field[] getFields() :獲取所有public修飾的成員變量
Field getField(String name) 獲取指定名稱的 public修飾的成員變量
Field[] getDeclaredFields() 獲取所有的成員變量,不考慮修飾符
Field getDeclaredField(String name) 和上面不同的是可以對任意權限修飾符 修飾的field對象進行操作,但是不一定能獲取,需要配合暴力反射

  • b.設置、獲取成員對象

void set(Object obj(這裏是指創建字節碼對象的類的實例化對象), Object value)
get(Object obj) //參數是指類的實例化對象
setAccessible(true):暴力反射

三、構造方法對象

  • a.構造方法對象獲取

Constructor<?>[] getConstructors()
Constructor getConstructor(類<?>… parameterTypes) 黃體參數其實就是目標方法中參數列表的重寫 示例:String.class
Constructor getDeclaredConstructor(類<?>… parameterTypes)
Constructor<?>[] getDeclaredConstructors()

  • b.實例化對象創建

T newInstance(Object… initargs) 參數列表
setAccessible(true):暴力反射

四、成員方法

  • a.成員方法對象獲取

Method[] getMethods() 只能獲取public方法,但是可以獲取繼承的父類或者接口的方法
Method getMethod(String name, 類<?>… parameterTypes)
Method[] getDeclaredMethods() 可以獲取任何權限修飾符修飾的方法,但是不能獲取父類或者父接口中的方法
Method getDeclaredMethod(String name, 類<?>… parameterTypes)

  • b.成員方法的調用

setAccessible(true):暴力反射
Object invoke(Object obj, Object… args)

五、獲取類名

String getName();

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章