JUnit中获取测试类及方法的名称实现方法
程序员文章站
2024-03-05 08:47:36
在junit的测试中,有时候需要获得所属的类(class)或者方法(method)的名称,以方便记录日志什么的。
在junit中提供了testname类来做到这一点,在o...
在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()); } }
大功告成!
上一篇: 安卓(Android)游戏开发音效代码
下一篇: java 使用异常的好处总结