Junit使用:白盒测试
1.定义一个测试类(测试用例)
建议:
测试类名:被测试的类名Test CalculatorTest
包名:xxx.xxxxxx.test cn.itcast.test
2.定义测试方法:可以独立运行
方法名:test测试的方法名 testAdd()
返回值:void
参数列表:空参
3.给方法加@Test
4.导入junit依赖环境
5.一般使用断言操作来处理结果
Assert.assertEquals(期望的结果,运算的结果);
6.
@Before
修饰的方法会在测试之前被自动执行
一般在初始化方法,用于资源申请
@After
修饰的方法测试之后被自动执行
一般用于释放资源
注解:
概念:说明程序的.给计算机看的
注释:用文字描述程序的.给程序员看的
定义:注释(Annotation),也叫元数据,jdk1.5的新特性
作用分类:
1.编写文档:通过代码里标识的注解生成文档(生成文档doc文档)
2.代码分析:通过代码里标识的注解对代码进行分析(使用反射)
3.编译检查:通过代码里标识得注解让编译器能够实现基本的编译检查(Override)
jdk预定义的一些注解:
1.@Override : 检测该注解的方法是否继承父类(接口)的
2.@Deprecated : 该注解标注的内容,表示已过时
3.@SuppressWarnings :压制警告
一般传递参数 all @SuppressWarnings("all")
自定义注解:
格式:
元注解
public @interface 注解名称{}
本质:
注解本质就是一个接口,该接口默认继承Annotation接口
public interface MyAnno extends java.lang.annotation.Annotation{}
属性:
接口中的抽象方法
要求:
1.属性的返回值有下列取值
基本数据类型
String
枚举
注解
以上类型的数组
2.定义了属性,在使用时需要给属性赋值
1.定义属性时,使用default关键字给属性默认初始化,则使用注解时,可以不进行赋值
2.如果只有一个属性需要赋值,并且属性的名称是value,则可省略value,直接定义值
3.数组赋值时,值使用{}包裹,如果数组只有一个值,则{}省略
元注解:用于描述注解的注解
1.@Target :描述注解能够作用的位置
ElementType取值:
TYPE:可以作用于类上
METHOD:可以作用于方法上
FIELD:可以作用于成员变量上
2.@Retention : 描述注解被保留的阶段
@Retention(RetentionPolicy.RUNTIME):
当前被描述的注解,会保留到class字节码文件中,并被JVM读取到
3.@Docmented:描述注解是否被抽取到api文档中
4.Inherited:描述注解是否被子类继承
在程序里使用注解:获取注解中定义的属性值
1.获取注解定义的位置的对象 (class,Method,Field)
2.获取指定的注解
getAnnotation(Class)
其实就是在内存中生成一个该注解接口的子类实现对象
判断方法上是否有check注解
if (method.isAnnotationPresent(Check.class)) {}
3.调用注解中的抽象方法获取配置的属性值