JUnit中获取测试类及方法的名称实现方法

发表于:2021-5-14 09:25

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:卓钥    来源:CSDN

  在JUnit测试中,有时候需要获得所属的类(Class)或者方法(Method)的名称,以方便记录日志什么的。
  在JUnit中提供了TestName类来做到这一点,在org.junit.rules中:
  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;
  }
  }
  虽然TestName只提供了方法的名称,要加上类的名称很容易,只需对TestName稍作修改如下:
  protected void starting(Description d) {
  fName = d.getClassName() + "." + d.getMethodName();
  }
  在测试用例中的用法是:
  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());
  }
  }
  大功告成!

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号