如何获取方法名称?

时间:2017-02-07 06:58:37

标签: java testng

我将TestNGSelenium一起使用。在那,我使用@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

1 个答案:

答案 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);
}