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

在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());
 }
}

大功告成!

(0)

相关推荐

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

    在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(); } /*

  • ASP.NET实现MVC中获取当前URL、controller及action的方法

    本文实例讲述了ASP.NET实现MVC中获取当前URL.controller及action的方法.分享给大家供大家参考,具体如下: URL的获取很简单,ASP.NET通用: [1]获取 完整url (协议名+域名+虚拟目录名+文件名+参数) string url=Request.Url.ToString(); [2]获取 虚拟目录名+页面名+参数: string url=Request.RawUrl; 或 string url=Request.Url.PathAndQuery; [3]获取 虚拟

  • javascript中获取元素标签中间的内容的实现方法

    使用ajax,通过会把服务器端响应获取到reponseText或者reponseXML中的信息,以某种方法动态的写到div和span标记中,这样,可以在无刷新的情况下,改变页面内容的显示. 通过javascript进行动态的修改,修改的方法有两种: 1. 一种是使用html的每个标记的innerHTML属性,使用此属性,只要为它提供一个有意义的html代码片段,那么html解释器就可以将其中的内容进行解释,并显示在页面上,使用这种方式比较简单,每次修改前不需要先把原来的内容清除掉,而可以直接进行

  • Flask中获取小程序Request数据的两种方法

    Flask中获取小程序Request数据的两种方法 作为后端屌对于前端确实讳莫如深,JS中的类型Object竟然不能直接通过POST传入到后台Flask中,您会发现获取的是[object Object],这货在Flask中只是个Str,哈哈... 于是,开始寻求解决方案: 方案一,通过GET或者POST传参,将Object转换为Str请求数据: 1.在util.js中定义一个JS函数: function json2Form(json) { var str = []; for (var p in

  • C#编程获取实体类属性名和值的方法示例

    本文实例讲述了C#编程获取实体类属性名和值的方法.分享给大家供大家参考,具体如下: 遍历获得一个实体类的所有属性名,以及该类的所有属性的值 //先定义一个类: public class User { public string name { get; set; } public string gender { get; set; } public string age { get; set; } } //实例化类,并给实列化对像的属性赋值: User u = new User(); u.name

  • python3中获取文件当前绝对路径的两种方法

    方法1: import sys print(sys.argv) 得到文件当前绝对路径字符串的一个列表 ['D:/pycharm/PracticeProject/ClientServerNetworking.py'] 方法2: import os print(os.getcwd()) print(os.listdir()) print(os.path.join(os.getcwd(),os.listdir()[1])) D:\pycharm\PracticeProject ['.idea', 'C

  • 在Python中获取两数相除的商和余数方法

    方法一:可以使用//求取两数相除的商.%求取两数相除的余数.[/在Python中获取的是相除的结果,一般为浮点数] 方法二:使用divmod()函数,获取商和余数组成的元祖 实例代码: #!/usr/bin/python3 # -*- coding: utf-8 -*- a = int(input(u"输入被除数: ")) b = int(input(u"输入除数:")) div = a // b mod = a % b print("{} / {} =

  • php从数据库中获取数据用ajax传送到前台的方法

    1.数据库的字段: 2.php连接数据库获取数据库的信息放入json_encode($css);{文件为:db.php} <span style="font-size:14px;"><?php $host="localhost"; $username="root"; $password="root"; $dbName="baixing"; $port=3306; $conn=new mys

  • Android中获取控件宽高的4种方法集合

    借鉴自开发艺术 1.onWindowFocusChanged 这个方法会被调用多次,在View初始化完毕后会调用,当Activity的窗口得到焦点和失去焦点都会被调用一次(Activity继续执行和暂停执行时). @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (hasFocus) { int width = view.getMeasur

  • ASP.NET简单获取服务端和客户端计算机名称的方法

    本文实例讲述了ASP.NET简单获取服务端和客户端计算机名称的方法.分享给大家供大家参考,具体如下: //获取服务端计算机名称 string serverPCName = System.Net.Dns.GetHostName(); //获取客户端计算机名称 System.Net.IPAddress clientIP = System.Net.IPAddress.Parse(Request.UserHostAddress);//根据目标IP地址获取IP对象 System.Net.IPHostEnt

随机推荐