需求:现有一个类已知,需要根据测试方法名称获取到测试用例编号。
public class Register{
public void register_001_RegisterIsTrue(){
System.out.println("正常注册");
}
public void register_002_RegisterPasswordIsNull(){
System.out.println("密码为空登录");
}
public void register_003_RegisterConfirmPassowrdIsError(){
System.out.println("输入的确认密码不匹配");
}
}
这里在自动化测试可能会用到,目的就是通过获取方法名称,再根据方法名称中的信息提取测试用例编号,根据测试用例编号读取对应的数据。
@Test
public void getMethodName(){
Class<Register> register = Register.class;
Method[] methods = register.getMethods();
for (Method m:methods) {
if (m.getName().contains("002")){
System.out.println(m.getName());
Integer integer = Integer.valueOf(m.getName().substring(m.getName().indexOf("_") + 3, m.getName().indexOf("_") + 4));
System.out.println(integer);
}
}
}