How to exclude class in TestNG?

user522170 picture user522170 · Aug 28, 2012 · Viewed 23.5k times · Source

Is this possible to exclude classes in testng.xml?

I tried with

<packages>
    <package exclude="com.tt.ee"/>
</packages>

but it's giving error.

Answer

artdanil picture artdanil · Aug 29, 2012

According to the TestNG dtd, the exclude element is only applicable to the following elements:

  • package - The package description within packages list.
  • methods - The list of methods to include/exclude from this test.
  • run - The subtag of groups used to define which groups should be run.

The elements classes and class cannot be directly excluded; however, you can exclude classes through groups:

@Test(groups = { "ClassTest1" })
public class Test1 {

  public void testMethod1() {
  }

  public void testMethod2() {
  }

}

Then you will define the testng.xml:

<suite>
  <test>
    <groups>
      <run>
        <exclude name="ClassTest1"/>
      </run>
    </groups>
    <classes>
      <class name="Test1">
    </classes>
  </test> 
</suite>

In most cases you define, which classes to include for the run, not to exclude, so just include the classes you want to run.