Junit是白盒测试
测试类名:被测试的类名Test
测试包名:xxx.xxx.test
方法名:test被测试的方法名
返回值:void
参数:空参
利用断言:Assert.assertEquals(期望值, 实际值);
红色加班,绿色回家
@Before
类似于c++的构造器
所有测试方法执行前都会先运行
一般用于内存申请和初始化
@After
类似于c++的析构器
所有测试方法执行完后都会运行一遍
一般用于内存资源的释放
注解:给计算机说明程序
注释:给程序员说明程序
/** + 回车
:生成文档注解@since 1.5
:jdk1.5以后能使用@version 1.0
:版本号为1.0@author xxx
:作者为xxx@param a 整数
:参数a是整数@return 两数之和
:返回值是两数之和cmd:javadoc *.java
index.html
—> 文档注解
@Override
:检测方法是否是继承父类或者父接口@Decrecated
:将该注解标注的内容已过时@SupperssWarnings("all")
:取消编译器的警告元注解
public @interface 注解名称{
属性列表;
}
本质:一个继承了Annotation接口的接口
接口中可以定义的抽象成员方法
基本数据类型、String、枚举、注解、数组
// 枚举
public enmu Num{
n1,n2;
}
Num.n1
定义了属性,使用时需要给属性赋值
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取值:
TYPE
:类METHOD
:方法FIELD
:成员变量
2、@Retention
:注解保留阶段
@Retention(RetentionPolicy.RUNTIME);
注解会保留到class字节码文件,会被JVM虚拟机读取
3、@Documented
:注解是否被抽取到api文档
4、@Inherited
:注解是否被子类继承
获取注解中