一、命名模式java
- Junit 以前要求测试必须是 test* 打头的命名,不然不执行,但都不会出错
- 没法保证仅仅用于相应的程序元素上
- 没有提供将参数值和程序关联起来的好办法
注解很好的解决了命名模式的这些问题程序员
二、注解数组
- 注解类型声明中的注解叫作元注解
- @Retention 滞留策略
- @Target 做用对象,下述就是仅仅使用在方法声明,不能用做类,域,或其余程序上

- 上述注释中写道:做用于无参方法,静态方法。编译器不能帮你检查,运行起来才会报错
三、标注注解工具
- 其中m5 方法是一个实例方法,不属于注解有效使用,但不会抛出异常

- 注解对类的语义没有任何影响,可是能够经过工具进行特殊处理
- 以下就是对Test 注解的特殊处理


四、抛出特殊异常时才成功测试
- 某个扩展 异常基类Exception 的Class 对象 ,它容许注解的用户指定任何异常类型

- 测试代码,抛出特定类型异常的测试经过
- 注意,因为是泛型定义注解,使用时须要加上类型,这样 value()返回类型固定


- 若是特定类型异常的类文件不存在,抛出 TypeNotPresentException 异常
五、测试能够抛出任何一种指定类型异常都获得经过.net
- 使用Class 对象数组
- 以前的全部ExceptionTest 注解仍然有效,并产生单元素的数组



六、总结3d
- 既然有了注解,彻底没理由使用命名模式
- 大部分程序员使用java 预约义的注解就够了
- 使用其余工具注解,因为没有标准化,换工具时会引来不少没必要要的工做量