一个简单的测试框架,在根目录生成bug记录的日志
/**
* @author 乘风c
* @version 1.0
* @description: 测试用例,并生成bug日志
* @date 2021/9/1 14:31
*/
public class SumTest {
public static void main(String[] args) throws IOException {
//创建测试对象类的对象
Sum sum = new Sum();
//获取对象类的反射
Class aClass = sum.getClass();
//获取测试对象类中的方法的反射
Method[] methods = aClass.getMethods();
int count = 0;
//创建个文件接收返回的数据
PrintStream printStream = new PrintStream(new File("bug.txt"));
for (Method method : methods) {
boolean annotationPresent = method.isAnnotationPresent(Chack.class);
if (!annotationPresent){
continue;
}else{
try {
method.invoke(sum);
} catch (Exception e) {
count++;
printStream.println(method.getName()+" 方法出现异常");
printStream.println("异常的名称是:"+e.getCause().getClass().getSimpleName());
printStream.println("出错的原因是:"+e.getCause().getMessage());
printStream.println("---------------------------");
}
}
}
printStream.println("本次测试一共出现"+count+"个异常");
}
}
测试需要用到的注解
package sum;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Chack {
}