Java - 以编程方式关闭 TestNG 的默认记者

Java - Turn off TestNG's default reporters programmatically

我有一个应用程序,我需要从我的主要方法执行我的 TestNG @Test 注释方法,并使用 ReportNG 生成报告。

我的主要方法如下所示:

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();
}

我的 SampleTest class 看起来像这样:

public class SampleTest 
{
    @Test
    public void testSample() 
    {
        String str = "TestNG is working fine";
        assertEquals("TestNG is working fine", str);
    }
}

代码运行正常,但在测试输出文件夹中,我得到了默认 TestNG 报告器生成的报告以及 ReportNG 报告。如何以编程方式禁用默认记者?

Turning off test-output in TestNG - 这个问题和我的很相似,但它没有讨论以编程方式禁用它。

找到答案。

myTestNG.setUseDefaultListeners(false);