【JavaWeb】Junit & 注解(学习笔记)

发布时间:2023年12月30日

Junit

一、测试分类

  1. 黑盒:类似于蓝桥杯的判题
  2. 白盒:写代码关注程序的执行流程

Junit是白盒测试

二、Junit 的使用

1、步骤

1)定义一个测试类(测试用例)

测试类名:被测试的类名Test

测试包名:xxx.xxx.test

2)定义测试方法

方法名:test被测试的方法名

返回值:void

参数:空参

3)给方法加@Test
4)导入Junit环境

2、判断输出的正确性

利用断言:Assert.assertEquals(期望值, 实际值);

红色加班,绿色回家

三、@Before与@After

1、@Before

类似于c++的构造器

所有测试方法执行前都会先运行

一般用于内存申请和初始化

2、@After

类似于c++的析构器

所有测试方法执行完后都会运行一遍

一般用于内存资源的释放

注解

一、注解概述

1、区分注解与注释

注解:给计算机说明程序

注释:给程序员说明程序

2、注解功能

  1. 编写文档:通过注解生成doc文档
  2. 代码分析:通过注解对代码分析【使用反射】
  3. 编译检查:通过注解让编译器进行基本的编译检查

3、文档注解

  1. /** + 回车:生成文档注解
  2. @since 1.5 :jdk1.5以后能使用
  3. @version 1.0 :版本号为1.0
  4. @author xxx:作者为xxx
  5. @param a 整数 :参数a是整数
  6. @return 两数之和 :返回值是两数之和

4、生成文档注解

cmd:javadoc *.java

index.html —> 文档注解

二、注解预设

  1. @Override:检测方法是否是继承父类或者父接口
  2. @Decrecated:将该注解标注的内容已过时
  3. @SupperssWarnings("all"):取消编译器的警告

三、自定义注解

元注解
public @interface 注解名称{
    属性列表;
}

本质:一个继承了Annotation接口的接口

四、注解的属性

1、属性

接口中可以定义的抽象成员方法

2、要求

1)返回值

基本数据类型、String、枚举、注解、数组

// 枚举
public enmu Num{
    n1,n2;
}
Num.n1

2)属性

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

public @interface MyAnno{
    int age();
    String name default "wangming";		// default -> 默认值
}

@MyAnno(age = 12, name = "wmh")
@MyAnno(age = 12)

如果只有一个属性且为value,则可以省略 xxx = ,直接定义值

public @interface MyAnno{
    int value();
}

@MyAnno(12)

数组赋值用{},如果只有一个值可以省略

五、元注解

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

1、@Target :注解作用位置

ElementType取值:

  1. TYPE:类
  2. METHOD:方法
  3. FIELD:成员变量

2、@Retention:注解保留阶段

@Retention(RetentionPolicy.RUNTIME);

注解会保留到class字节码文件,会被JVM虚拟机读取

3、@Documented:注解是否被抽取到api文档

4、@Inherited:注解是否被子类继承

六、解析注解

1、目的

获取注解中

2、使用

  1. 获取主食定义的位置的对象
  2. 获取指定的注解 getAnnotation(Class)
  3. 调用注解中的抽象方法获取配置的属性值
文章来源:https://blog.csdn.net/wmh1024/article/details/135211408
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。