在JUnit 4中的@Before中获取当前正在执行的@Test方法

use*_*111 6 java junit4

我想获得当前正在执行的测试方法,@Before以便我可以在当前正在执行的方法上应用注释.

public class TestCaseExample {
       @Before
       public void setUp() {
           // get current method here.
       }

       @Test
       @MyAnnotation("id")
       public void someTest {
           // code
       }
}         
Run Code Online (Sandbox Code Playgroud)

Evg*_*eev 11

尝试TestName规则

public class TestCaseExample {
  @Rule
  public TestName testName = new TestName();

  @Before
  public void setUp() {
    Method m = TestCaseExample.class.getMethod(testName.getMethodName());       
    ...
  }
  ...
Run Code Online (Sandbox Code Playgroud)

  • 更好的是,您可以编写自己的`TestName`版本来获取注释,而不是名称. (2认同)