As discussed here, try using @Rule and TestName combination.
As per the documentation before method should have test name.
Annotates fields that contain rules. Such a field must be public, not
static, and a subtype of TestRule. The Statement passed to the
TestRule will run any Before methods, then the Test method, and
finally any After methods, throwing an exception if any of these fail
Here is the test case using Junit 4.9
public class JUnitTest {
@Rule public TestName testName = new TestName();
@Before
public void before() {
System.out.println(testName.getMethodName());
}
@Test
public void test() {
System.out.println("test ...");
}
}