I have an application in which I need to run my annotated TestNG @Test methods from my main method and use ReportNG to generate reports.
My main method looks like this:
public static void main(String args[]) { TestNG myTestNG = new TestNG(); XmlSuite mySuite = new XmlSuite(); mySuite.setName("Sample Suite"); mySuite.addListener("org.uncommons.reportng.HTMLReporter"); mySuite.addListener("org.uncommons.reportng.JUnitXMLReporter"); XmlTest myTest = new XmlTest(mySuite); myTest.setName("Sample Test"); List<XmlClass> myClasses = new ArrayList<XmlClass>(); myClasses.add(new XmlClass("com.varunmulloli.testng.SampleTest")); myTest.setXmlClasses(myClasses); List<XmlTest> myTests = new ArrayList<XmlTest>(); myTests.add(myTest); mySuite.setTests(myTests); List<XmlSuite> mySuites = new ArrayList<XmlSuite>(); mySuites.add(mySuite); myTestNG.setXmlSuites(mySuites); myTestNG.run(); }
And my SampleTest class looks like this:
public class SampleTest { @Test public void testSample() { String str = "TestNG is working fine"; assertEquals("TestNG is working fine", str); } }
The code works fine, but in the test-output folder I get reports generated by the default TestNG reporter, as well as ReportNG reports. How to programmatically disable default reporters?
Disabling test output in TestNG - this question is similar to mine, but it does not discuss the issue of disabling it programmatically.
source share