咱们在写测试用例时,偶尔会使用当前函数作为函数体中的某个标示性字符串的一部分。比如写数据库测试用例时,可以把当前函数名作为建表语句中的表名。
咱们总不能手动写函数名的字符串吧。上干货:
在 Java 中,可以使用 Thread.currentThread().getStackTrace()
方法获取当前函数名。该方法返回一个 StackTraceElement[]
数组,其中包含当前线程的堆栈跟踪。堆栈跟踪中的第一个元素是调用 getStackTrace()
的方法,第二个元素是调用调用 getStackTrace()
的方法的方法,依此类推。因此,要获取当前函数名,只需获取堆栈跟踪中的第二个元素的 getMethodName()
方法的返回值。
以下是获取当前函数名的示例代码:
String currentFunctionName = Thread.currentThread().getStackTrace()[1].getMethodName();
此代码将 currentFunctionName
变量设置为当前函数的名称。