Java 获取JUNIT中@Before中当前正在执行的@Test方法的名称
我想获取@Before方法中当前正在执行的TestCase方法的名称。 范例 如前所述,尝试使用@Rule和TestName组合 按照前面的方法,应该有测试名称 注释包含规则的字段。这样的字段必须是公共的,而不是公共的 静态和TestRule的子类型。该声明被传递给了 TestRule将运行任何Before方法,然后是测试方法,然后是 最后是any After方法,如果其中任何一个失败,则引发异常 下面是使用JUnit4.9的测试用例Java 获取JUNIT中@Before中当前正在执行的@Test方法的名称,java,junit,Java,Junit,我想获取@Before方法中当前正在执行的TestCase方法的名称。 范例 如前所述,尝试使用@Rule和TestName组合 按照前面的方法,应该有测试名称 注释包含规则的字段。这样的字段必须是公共的,而不是公共的 静态和TestRule的子类型。该声明被传递给了 TestRule将运行任何Before方法,然后是测试方法,然后是 最后是any After方法,如果其中任何一个失败,则引发异常 下面是使用JUnit4.9的测试用例 public class JUnitTest {
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 ...");
}
}
尝试将
@Rule
注释与org.junit.rules.TestName
类一起使用
@Rule public TestName name = new TestName();
@Test
public void test() {
assertEquals("test", name.getMethodName());
}
?在测试类中添加一个字段
previousName
,并在每个测试方法的末尾用After设置其值
@Rule public TestName name = new TestName();
@Test
public void test() {
assertEquals("test", name.getMethodName());
}