package org.testng;

import org.testng.collections.Objects;
import org.testng.internal.IResultListener2;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.concurrent.ConcurrentLinkedQueue;


A simple ITestListener adapter that stores all the tests that were run. You can retrieve these results with the following methods: getPassedTests() getFailedTests() getSkippedTests() If you extend this class in order to override any of these methods, remember to call their super equivalent if you want this list of tests to be maintained.
Author:Cedric Beust, Aug 6, 2004, Alexandru Popescu
/** * A simple ITestListener adapter that stores all the tests * that were run. You can retrieve these results with the * following methods: * getPassedTests() * getFailedTests() * getSkippedTests() * * If you extend this class in order to override any of these * methods, remember to call their super equivalent if you want * this list of tests to be maintained. * * @author Cedric Beust, Aug 6, 2004 * @author <a href='mailto:the_mindstorm@evolva.ro'>Alexandru Popescu</a> */
public class TestListenerAdapter implements IResultListener2 { private Collection<ITestNGMethod> m_allTestMethods = new ConcurrentLinkedQueue<>(); private Collection<ITestResult> m_passedTests = new ConcurrentLinkedQueue<>(); private Collection<ITestResult> m_failedTests = new ConcurrentLinkedQueue<>(); private Collection<ITestResult> m_skippedTests = new ConcurrentLinkedQueue<>(); private Collection<ITestResult> m_failedButWSPerTests = new ConcurrentLinkedQueue<>(); private Collection<ITestContext> m_testContexts = new ConcurrentLinkedQueue<>(); private Collection<ITestResult> m_failedConfs = new ConcurrentLinkedQueue<>(); private Collection<ITestResult> m_skippedConfs = new ConcurrentLinkedQueue<>(); private Collection<ITestResult> m_passedConfs = new ConcurrentLinkedQueue<>(); @Override public void onTestSuccess(ITestResult tr) { m_allTestMethods.add(tr.getMethod()); m_passedTests.add(tr); } @Override public void onTestFailure(ITestResult tr) { m_allTestMethods.add(tr.getMethod()); m_failedTests.add(tr); } @Override public void onTestSkipped(ITestResult tr) { m_allTestMethods.add(tr.getMethod()); m_skippedTests.add(tr); } @Override public void onTestFailedButWithinSuccessPercentage(ITestResult tr) { m_allTestMethods.add(tr.getMethod()); m_failedButWSPerTests.add(tr); } protected ITestNGMethod[] getAllTestMethods() { return m_allTestMethods.toArray(new ITestNGMethod[m_allTestMethods.size()]); } @Override public void onStart(ITestContext testContext) { m_testContexts.add(testContext); } @Override public void onFinish(ITestContext testContext) { }
Returns:Returns the failedButWithinSuccessPercentageTests.
/** * @return Returns the failedButWithinSuccessPercentageTests. */
public List<ITestResult> getFailedButWithinSuccessPercentageTests() { return new ArrayList<>(m_failedButWSPerTests); }
Returns:Returns the failedTests.
/** * @return Returns the failedTests. */
public List<ITestResult> getFailedTests() { return new ArrayList<>(m_failedTests); }
Returns:Returns the passedTests.
/** * @return Returns the passedTests. */
public List<ITestResult> getPassedTests() { return new ArrayList<>(m_passedTests); }
Returns:Returns the skippedTests.
/** * @return Returns the skippedTests. */
public List<ITestResult> getSkippedTests() { return new ArrayList<>(m_skippedTests); } private static void ppp(String s) { System.out.println("[TestListenerAdapter] " + s); }
Params:
  • allTestMethods – The allTestMethods to set.
/** * @param allTestMethods The allTestMethods to set. */
public void setAllTestMethods(List<ITestNGMethod> allTestMethods) { m_allTestMethods = allTestMethods; }
Params:
  • failedButWithinSuccessPercentageTests – The failedButWithinSuccessPercentageTests to set.
/** * @param failedButWithinSuccessPercentageTests The failedButWithinSuccessPercentageTests to set. */
public void setFailedButWithinSuccessPercentageTests( List<ITestResult> failedButWithinSuccessPercentageTests) { m_failedButWSPerTests = failedButWithinSuccessPercentageTests; }
Params:
  • failedTests – The failedTests to set.
/** * @param failedTests The failedTests to set. */
public void setFailedTests(List<ITestResult> failedTests) { m_failedTests = failedTests; }
Params:
  • passedTests – The passedTests to set.
/** * @param passedTests The passedTests to set. */
public void setPassedTests(List<ITestResult> passedTests) { m_passedTests = passedTests; }
Params:
  • skippedTests – The skippedTests to set.
/** * @param skippedTests The skippedTests to set. */
public void setSkippedTests(List<ITestResult> skippedTests) { m_skippedTests = skippedTests; } @Override public void onTestStart(ITestResult result) { } public List<ITestContext> getTestContexts() { return new ArrayList<>(m_testContexts); } public List<ITestResult> getConfigurationFailures() { return new ArrayList<>(m_failedConfs); }
See Also:
  • onConfigurationFailure.onConfigurationFailure(ITestResult)
/** * @see org.testng.IConfigurationListener#onConfigurationFailure(org.testng.ITestResult) */
@Override public void onConfigurationFailure(ITestResult itr) { m_failedConfs.add(itr); } public List<ITestResult> getConfigurationSkips() { return new ArrayList<>(m_skippedConfs); } @Override public void beforeConfiguration(ITestResult tr) { }
See Also:
  • onConfigurationSkip.onConfigurationSkip(ITestResult)
/** * @see org.testng.IConfigurationListener#onConfigurationSkip(org.testng.ITestResult) */
@Override public void onConfigurationSkip(ITestResult itr) { m_skippedConfs.add(itr); }
See Also:
  • onConfigurationSuccess.onConfigurationSuccess(ITestResult)
/** * @see org.testng.IConfigurationListener#onConfigurationSuccess(org.testng.ITestResult) */
@Override public void onConfigurationSuccess(ITestResult itr) { m_passedConfs.add(itr); } @Override public String toString() { return Objects.toStringHelper(getClass()) .add("passed", getPassedTests().size()) .add("failed", getFailedTests().size()) .add("skipped", getSkippedTests().size()) .toString(); } }