我正在testNG报告中进行一些自定义,并希望获得以下格式的内容:
Map<String className, List<list_of_invoked_methods_in_a_class>
Example:
I have a classA(Methods: test1,test2), classB(Methods: test3,test4);
output will be:
Map.put("classA",List<test1,test2>);
Map.put("classB",List<test3,test4>);
我想通过使用TestNg侦听器,反射或其他方式来实现此目的。
testNG api中是否有任何监听器可以完成此任务?
答案 0 :(得分:0)
使用ITestResult
,ITestContext
和IMethodInstance
,它们可以为您提供正在使用的班级名称和方法名称。
for (ITestResult testResult : testResultSet) {
String methodName = testResult.getName() + "(";
for (Object arg : testResult.getParameters()) {
methodName += arg == null ? "" : arg.toString() + ", ";
}
uniqueMethodMap.add(testResult.getName());
methodList.add(testResult.getParameters().length > 0 ? methodName.substring(0, methodName.length() - 2) + ")" : methodName + ")");
}