获取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