package org.testng.internal;
import org.testng.*;
import org.testng.xml.XmlSuite;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class ConsoleReporter implements IReporter {
@Override
public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, String outputDirectory) {
for (ISuite suite : suites) {
for (Map.Entry<String, ISuiteResult> testResult : suite.getResults().entrySet()) {
Set<ITestResult> results =
testResult.getValue().getTestContext().getFailedTests().getAllResults();
if (results.isEmpty()) {
continue;
}
System.out.println("Failures in <suite> :" + suite.getName() + ", <test> :" + testResult.getKey());
for (ITestResult result : results) {
String c = result.getMethod().getRealClass().getName();
String m = result.getMethod().getMethodName() + "()";
System.out.println(c + "." + m);
if (result.getThrowable() != null) {
StringWriter sw = new StringWriter();
PrintWriter writer = new PrintWriter(sw);
result.getThrowable().printStackTrace(writer);
System.out.println(String.format("StackTrace:\n %s \n", Utils.filterTrace(sw.toString())));
}
}
}
}
}
}