可以很容易地从你自己的程序中调用 TestNG:

    1. TestListenerAdapter tla = new TestListenerAdapter();
    2. TestNG testng = new TestNG();
    3. testng.setTestClasses(new Class[] { Run2.class });
    4. testng.addListener(tla);
    5. testng.run();

    此示例创建一个TestNG对象并运行测试类Run2。它还添加了一个TestListener。您可以使用适配器类org.testng.TestListenerAdapter或自己实现org.testng.ITestListener。此接口包含各种回调方法,可让您跟踪测试何时开始、成功、失败等……

    同样,您可以在testng.xml文件上调用 TestNG,也可以自己创建一个虚拟testng.xml文件。为此,您可以使用在包org.testng.xml 中找到的类: XmlClassXmlTest等…这些类中的每一个都对应于它们的 XML 标记对应项。
    例如,假设您要创建以下虚拟文件:

    1. <suite name="TmpSuite" >
    2. <test name="TmpTest" >
    3. <classes>
    4. <class name="test.failures.Child" />
    5. <classes>
    6. </test>
    7. </suite>

    您将使用以下代码:

    1. XmlSuite suite = new XmlSuite();
    2. suite.setName("TmpSuite");
    3. XmlTest test = new XmlTest(suite);
    4. test.setName("TmpTest");
    5. List<XmlClass> classes = new ArrayList<XmlClass>();
    6. classes.add(new XmlClass("test.failures.Child"));
    7. test.setXmlClasses(classes);

    然后您可以将此XmlSuite传递给 TestNG:

    1. List<XmlSuite> suites = new ArrayList<XmlSuite>();
    2. suites.add(suite);
    3. TestNG tng = new TestNG();
    4. tng.setXmlSuites(suites);
    5. tng.run();

    请参阅JavaDocs了解整个 API。