package org.junit.rules;
import org.junit.runner.Description;
/**
* The TestName Rule makes the current test name available inside test methods:
*
* <pre>
* public class TestNameTest {
* @Rule
* public TestName name= new TestName();
*
* @Test
* public void testA() {
* assertEquals("testA", name.getMethodName());
* }
*
* @Test
* public void testB() {
* assertEquals("testB", name.getMethodName());
* }
* }
* </pre>
*
* @since 4.7
*/
public class TestName extends TestWatcher {
private String fName;
@Override
protected void starting(Description d) {
fName = d.getMethodName();
}
/**
* @return the name of the currently-running test method
*/
public String getMethodName() {
return fName;
}
}