今天继续读testng源码--FailedReporter.java类--生成失败的xml文件(testng-failed.xml)
4. 生成失败和skip的test xml
generateXmlTest(suite,
xmlTests.get(testContext.getName()),
testContext,
testContext.getFailedTests().getAllResults(),
testContext.getSkippedTests().getAllResults());
该方法的入参依次是suite(<suite>标签),XmlTest(从testContext中getname,然后把name作为入参得到某个xmlTest),ITestContext(该类定义了一个测试上下文,其包含给定测试运行的所有信息),失败测试结果集合,skip的测试结果集合。具体实现如下:
4.1 首先进行条件判断限制,判断skip或者failed的用例的个数是否大于0,有一个大于1则继续执行
if (skippedTests.size() > 0 || failedTests.size() > 0)
4.2 把失败的用例加入到Set集合中去
- 首先先把失败的和skip掉的用例全部加入到Collection集合数组中
- 遍历该集合数组进而去遍历集合Collection<ITestResult>
- 从Co