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();

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