获取JUnit 4中当前正在执行的测试的名称

在JUnit 3中,我可以这样获得当前正在运行的测试的名称:

public class MyTest extends TestCase

{

public void testSomething()

{

System.out.println("Current test is " + getName());

...

}

}

它将显示“当前测试是testSomething”。

在JUnit 4中,有什么现成的或简单的方法可以做到这一点吗?

背景:显然,我不想只打印测试的名称。我要加载存储在与测试名称相同的资源中的特定于测试的数据。您知道,约定优于配置以及所有其他内容。

回答:

JUnit 4.7似乎使用TestName-Rule添加了此功能。看起来这将为你获取方法名称:

import org.junit.Rule;

public class NameRuleTest {

@Rule public TestName name = new TestName();

@Test public void testA() {

assertEquals("testA", name.getMethodName());

}

@Test public void testB() {

assertEquals("testB", name.getMethodName());

}

}

以上是 获取JUnit 4中当前正在执行的测试的名称 的全部内容, 来源链接: utcz.com/qa/400995.html

回到顶部