package test.multiplelisteners; | |
import org.testng.TestListenerAdapter; | |
import org.testng.TestNG; | |
import org.testng.annotations.Test; | |
import org.testng.collections.Lists; | |
import org.testng.xml.XmlClass; | |
import org.testng.xml.XmlSuite; | |
import org.testng.xml.XmlTest; | |
import java.util.Arrays; | |
import java.util.Collections; | |
import java.util.List; | |
public class TestMaker | |
{ | |
@Test(description = "Make sure only one listener is created and not 2^3") | |
public void run() | |
{ | |
final TestNG tng = new TestNG(); | |
tng.setUseDefaultListeners(false); | |
tng.setListenerClasses(Arrays.<Class> asList(TestListenerAdapter.class, SimpleReporter.class)); | |
final List<XmlSuite> suites = createSuites(); | |
tng.setXmlSuites(suites); | |
tng.setVerbose(0); | |
tng.run(); | |
// Reporter.log(tng.getSuiteListeners().size() + "", true); | |
// for (final XmlSuite xmlSuite : suites) | |
// { | |
// Reporter.log(xmlSuite.getName() + ": " + xmlSuite.getListeners().size(), true); | |
// } | |
} | |
private List<XmlSuite> createSuites() | |
{ | |
final List<XmlSuite> ret = Lists.newArrayList(); | |
for (int i = 0; i < 3; i++) | |
{ | |
ret.add(createSuite(i)); | |
} | |
return ret; | |
} | |
private XmlSuite createSuite(final int nr) | |
{ | |
final XmlSuite suite = new XmlSuite(); | |
suite.setName("Suite_" + nr); | |
new XmlTest(suite).setXmlClasses(Collections.singletonList(new XmlClass(Test1.class))); | |
return suite; | |
} | |
} |