4

メイン メソッドから 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クラスは次のようになります。

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

コードは正常に実行されますが、test-output フォルダーには、デフォルトの TestNG レポーターによって生成されたレポートと、ReportNG レポートが含まれています。デフォルトのレポーターをプログラムで無効にするにはどうすればよいですか?

TestNG でテスト出力をオフにする- この質問は私のものと似ていますが、プログラムで無効にすることについては説明していません。

4

1 に答える 1

6

答えを見つけました。

myTestNG.setUseDefaultListeners(false);
于 2015-01-20T09:40:09.037 に答える