天天看点

java学习之 Junit和注解

#1、Junit

#1.1、测试分类:

  1. 黑盒测试:不需要写代码,给输入值,看程序是否能够给出期望的值
  2. 白盒测试:需要写代码的。关注程序具体的执行流程。

    #1.2、Juni使用:

  3. 定义一个测试类
  4. 定义测试方法:可以独立运行
  5. 给方法加入加@Test
  6. 导入Junit依赖环境

#2、注解

##概念:说明程序的。给计算机看的

##注释:用文字描述程序的。给程序员看的

##JDK中预定义的一些注解

  1. @Override:检测被注解标注的方法是否是继承自父类(接口)的
  2. @Deprecated:该注解标注的内容,表示已过时
  3. @SuppressWarnings:压制警告

##自定义注解

  1. 格式:

    元注解

    public @interface 注解名称 {

    属性列表;

    }

  2. 本质:注解本质就是一个接口,该接口默认继承Annotation接口
  3. 属性:接口中可以定义的成员方法

    要求

  4. 属性的返回值类型有下列取值

    *基本数据类型

    *String

    *枚举

    *注解

    *以上类型的数组

  5. 定义了属性,在使用时需要给属性赋值

    1.如果定义属性时,使用default关键字给属性默认初始化值

    2.如果只有一个属性需要赋值,并且属性的名称是value,则value可以省略

    3.数组赋值时,值使用{}包裹。如果数组中只有一个值那么可以省略{}

    ##元注解:用于描述注解的注解

  • @Target:描述注解能够作用的位置
    • ElementType取值:
      • TYPE:可以作用在类上
      • METHOD:可以作用在方法上
      • FIELD:可以作用在成员变量上
  • @Retention:描述注解被保留的阶段

    - @Retention(RetentionPolicy。RUNTIME):当前被描述的注解会保留到class字节码文件中,并被JVM读取到

  • @Documented:描述注解是否被抽取到api文档中
  • @Inherited:描述注解是否被子类继承

#小结:

  1. 以后大多数时候,我们会使用注解,而不是自定义注解
  2. 注解给谁用?

    1、编译器

    2、给解析程序用

  3. 注解不是程序的一部分,可以理解为注解就是一个标签。