Java - Turn off TestNG's default reporters programmatically

…衆ロ難τιáo~ 提交于 2020-01-01 12:11:08

问题


I have an application where I need to execute my TestNG @Test annotated 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 runs fine, but in the test-output folder, I get the reports generated by the default TestNG reporter as well along with the ReportNG reports. How do I disable the default reporters programmatically?

Turning off test-output in TestNG - This question is similar to mine, but it does not discuss about disabling it programmatically.


回答1:


Found the answer.

myTestNG.setUseDefaultListeners(false);


来源:https://stackoverflow.com/questions/28041967/java-turn-off-testngs-default-reporters-programmatically

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!