我将TestNG
与Selenium
一起使用。在那,我使用@AfterMethod
和@Test
注释。
在我使用@AfterMethod
的方法中,我需要具有@Test
的方法名称。
例如:
@Test
public void testmethod() {
System.out.println("test");
}
@AfterMethod
public void aftermethod() {
String methodnameofTESTANnnoation=....?
System.out.println(methodnameof@TESTannotation);
}
此处为@TEST
注释变量的方法名称,我需要@Test
注释方法的名称,即 testmethod 。
答案 0 :(得分:2)
TestNG能够将Method
引用注入配置方法。
来自the documentation:
任何@BeforeMethod(和@AfterMethod)都可以声明一个类型的参数 java.lang.reflect.Method中。此参数将接收测试方法 一旦这个@BeforeMethod完成(或者之后)就会被调用 运行@AfterMethod的方法。
所以,你的样本:
@Test
public void testmethod(){
System.out.println("test");
}
@AfterMethod
public void aftermethod(Method m){
String methodNameOfTest = m.getName();
System.out.println(methodNameOfTest);
}