注解-案例-简单的测试框架和数据库的基本概念
注解-案例-简单的测试框架
Check自定义注解
@Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface Check { }
Calculator计算器类
public class Calculator { //加法 @Check public void add(){ 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"); } }
TestCheck测试类
public class TestCheck { 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")); for (Method method : methods) { //4.判断方法上是否有Check注解 if (method.isAnnotationPresent(Check.class)) { //5.有,执行 try { method.invoke(c); } catch (Exception e) { //6.捕获异常 //记录到文件中 number++; bw.write(method.getName()+"方法出异常了"); bw.newLine(); bw.write("异常的名称"+e.getCause().getClass().getSimpleName()); bw.newLine(); bw.write("异常的原因:"+e.getCause().getMessage()); bw.write("-------------------------------"); bw.newLine(); } } } bw.write("本次测试一共出现"+number+"次异常"); bw.flush(); bw.close(); } }
我们可以明显的看到div方法也就是除法写错了,所以输出的时候,就不会输出,运行完程序之后,它会在项目下面创建一个bug.txt文档,里面记录了,你在那部分错了

数据库的基本概念
数据库的英文单词:DataBase 简称:DB
什么是数据库?
用于存储和管理数据的仓库
数据库的特点:
持久化存储于数据的,其实数据库就是一个文件系统
方便存储和管理数据
使用了统一的方式操作数据库--SQL

浙公网安备 33010602011771号