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

我有一个应用程序,我需要从我的main方法执行我的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 myClasses = new ArrayList(); myClasses.add(new XmlClass("com.varunmulloli.testng.SampleTest")); myTest.setXmlClasses(myClasses); List myTests = new ArrayList(); myTests.add(myTest); mySuite.setTests(myTests); List mySuites = new ArrayList(); mySuites.add(mySuite); myTestNG.setXmlSuites(mySuites); myTestNG.run(); } 

我的SampleTest类看起来像这样:

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

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

在TestNG中关闭测试输出 – 这个问题与我的类似,但它没有讨论以编程方式禁用它。

找到了答案。

 myTestNG.setUseDefaultListeners(false);