java注解案例_简单的测试方法合法性框架
2021/7/25 12:06:16
本文主要是介绍java注解案例_简单的测试方法合法性框架,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
//类一:计算器内定义加、减、乘、除和show方法 package Annotation; /** * 小明定义的计算器类 */ public class Calculator { //加法 @Check public void add(){ String str = null; str.toString(); System.out.println("1 + 0 =" + (1 + 0)); } //减法 @Check public void sub(){ System.out.println("1 - 0 =" + (1 - 0)); } //乘法 @Check public void mul(){ System.out.println("1 * 0 =" + (1 * 0)); } //除法 @Check public void div(){ System.out.println("1 / 0 =" + (1 / 0)); } public void show(){ System.out.println("永无bug..."); } } //二:注解代码 package Annotation; import javax.lang.model.element.Element; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; //元注解Target取值Method,表示Check注解只能作用于方法 @Target(ElementType.METHOD) //元注解Retention表示注解被保留的java阶段Runtime阶段 //java代码在计算机中的三个阶段: 1.Source源代码阶段-->2.Class类对象阶段-->3.Runtime运行时阶段 @Retention(RetentionPolicy.RUNTIME) public @interface Check { } //三:简单的测试框架代码 package Annotation; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; /** * 简单的测试框架 * * 当主方法执行后,会自动自行被检测的所有方法(加了Check注解的方法),判断方法是否有异常,记录到文件中 */ public class CalculatorTest { public static void main(String[] args) throws IOException { //1.创建计算器对象 Calculator c = new Calculator(); //2.获取字节码文件 Class cls = c.getClass(); //3.获取所有方法 Method[] methods = cls.getMethods(); int number = 0;//定义出现异常的次数 BufferedWriter bw = new BufferedWriter(new FileWriter("bug.txt")); //4.判断方法上是否有注解 for (Method method : methods) { if (method.isAnnotationPresent(Check.class)){ try { method.invoke(c); } catch (Exception e) { //5.捕获异常,并写入到文件中 number++; bw.write(method.getName()+"方法出现异常了"); bw.newLine(); bw.write("异常的名称" + e.getCause().getClass().getSimpleName()); bw.newLine(); bw.write("异常的原因" + e.getCause().getMessage()); bw.newLine(); bw.write("++++++++++++++"); bw.newLine(); } } } bw.write("本次测试一共出现" + number + "次异常"); //6.刷新并关闭资源流 bw.flush(); bw.close(); } } //四:Bug文档:bug.txt里应该显示的内容 add方法出现异常了 异常的名称NullPointerException 异常的原因null ++++++++++++++ div方法出现异常了 异常的名称ArithmeticException 异常的原因/ by zero ++++++++++++++ 本次测试一共出现2次异常
这篇关于java注解案例_简单的测试方法合法性框架的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-22项目:远程温湿度检测系统
- 2024-12-21《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
- 2024-12-21后台管理系统开发教程:新手入门全指南
- 2024-12-21后台开发教程:新手入门及实战指南
- 2024-12-21后台综合解决方案教程:新手入门指南
- 2024-12-21接口模块封装教程:新手必备指南
- 2024-12-21请求动作封装教程:新手必看指南
- 2024-12-21RBAC的权限教程:从入门到实践
- 2024-12-21登录鉴权实战:新手入门教程
- 2024-12-21动态权限实战入门指南