package org.junit.tests.experimental.rules;
import static org.junit.Assert.assertEquals;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.experimental.runners.Enclosed;
import org.junit.rules.TestName;
import org.junit.runner.RunWith;
@RunWith(Enclosed.class)
public class NameRulesTest {
public static class TestNames {
@Rule
public TestName name = new TestName();
@Test
public void testA() {
assertEquals("testA", name.getMethodName());
}
@Test
public void testB() {
assertEquals("testB", name.getMethodName());
}
}
public static class BeforeAndAfterTest {
@Rule
public TestName name = new TestName();
private final String expectedName = "x";
@Before
public void setUp() {
assertEquals(expectedName, name.getMethodName());
}
@Test
public void x() {
assertEquals(expectedName, name.getMethodName());
}
@After
public void tearDown() {
assertEquals(expectedName, name.getMethodName());
}
}
}