今天继续读testng源码--FailedReporter.java类--生成失败的xml文件(testng-failed.xml)
6. 设置失败的classes
List<XmlClass> xmlClasses = createXmlClasses(methods, srcXmlTest);
xmlTest.setXmlClasses(xmlClasses);
6.1 创建xmlClasses方法的入参分别是:已经执行完成的方法,XmlTest;返回的是一些列的XmlClass即<class></class>标签的内容,每一个class又包含<method></method>标签
具体代码如下:
6.2 循环遍历所有已执行的测试用例method,首先拿到该方法method的实例instance,然后判断methodsMap中是否又该实例,
没有则新建一个hashSet,然后将该实例put到methodsMap中,
for (ITestNGMethod m : methods) {
Object[] instances= m.getInstances();
Class clazz= instances == null || instances.length == 0 || instances[0] == null
? m.getRealClass()
: instances[0].getClass();
Set<ITestNGMethod> methodList=