创建节点时,我试图在报告中记录我的调用方法名称。
我在getname()
中用Method.GetMethodName
,ITestresult
进行了尝试,但没有找到正确的方法。
public static class Reports
{
public static void CreateNode(String Description)
{
test.createNode(Description);
}
}
public static Class ModuleClass
{
public static void Login()
{
Reports.CreateNode( ???": method started");
}
}
在问号区域,我想要打印在报告中的方法名称。
像这样的输出-
Login : method started in report.
它与日志无关。它基于我从任何特定模块的测试库中调用的任何方法,我们假设有一种方法可以填充如下形式的表格:
public static Class ModuleClass
{
public static void FormFilled()
{
Reports.CreateNode( ???": method started");
}
}
因此,当我在执行类中调用此方法时,如下所示:
@Test
public void SavingForm()
{
ModuleClass.FormFilled();
}
然后在报告中执行后,我应该得到:
output FormFilled : method started
最佳答案
我通过使用以下行获取输出:
新的Object(){}。getClass()。getEnclosingMethod()。getName()
public static Class ModuleClass
{
public static void FormFilled()
{
Reports.CreateNode( new Object(){}.getClass().getEnclosingMethod().getName()
+ ": method started");
}
}