JUnit中获取测试类及方法的名称实现方法
时间:2020-10-17 10:55:38|栏目:JAVA代码|点击: 次
在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());
}
}
大功告成!


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




