今天继续读testng源码--FailedReporter.java类--生成失败的xml文件(testng-failed.xml)
1.构造方法
//无参构造器
public FailedReporter() {
}
//有参构造器
public FailedReporter(XmlSuite xmlSuite) {
m_xmlSuite = xmlSuite;
}
2.重写生成测试报告方法generateReport(),主要作用就是for循环遍历suite然后执行generateFailureSuite()方法
//入参依次为:xmlSuiteList,suiteList,outputDirectory
@Override
public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, String outputDirectory) {
for (ISuite suite : suites) {
generateFailureSuite(suite.getXmlSuite(), suite, outputDirectory);
}
}
3.generateFailureSuite()方法的主要作用就是生成失败suite对应的xml文件
3.1 浅拷贝
//浅拷贝
XmlSuite failedSuite = xmlSuite.shallowCopy();
//设置失败suite的name为Failed suite [SuiteName1]----SuiteName