TestNg skipping @BeforeSuite and @BeforeClass when running in group

Viewed 8984

When running TestNg with groups it is skipping @BeforeClass and @BeforeSuite methods. however running without group it execute @BeforeClass and @BeforeSuite

Code :

class TestStructure {

 @BeforeClass
 public void loadData() {
  System.out.println("loaded");
 }

 @BeforeSuite
 public void loadSysData() {
  System.out.println("loaded2");
 }
}


class Test extends TestStructure
{

    @Test(groups={"UAP"})
    public void test1
    {
     System.out.println("Test 2");
    }

}

The testng.xml file is

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="UAP suite" parallel="false" thread-count="1" verbose="1">
   <listeners>
      <listener class-name="com.module.listener.TestNGListener" />
   </listeners>

   <test name="TestSet 1" parallel="false" preserve-order="true">
      <groups>
         <run>
            <include name="UAP" />
         </run>
      </groups>
      <classes>
         <class name="Test" />
      </classes>
   </test>
</suite>

If I remove group from the xml then @BeforeClass and @BeforeSuite are executed. Please help.

2 Answers

If the Top rated solution dont work please follow this

1)Try to run the Groups with excluding the groups you don't want to execute instead of including the Groups you want to execute

2)Instead leave <exclude> value as blank

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="UAP suite" parallel="false" thread-count="1" verbose="1">
   <listeners>
      <listener class-name="com.module.listener.TestNGListener" />
   </listeners>

   <test name="TestSet 1" parallel="false" preserve-order="true">
      <groups>
         <run>
            <exclude name="" />
         </run>
      </groups>
      <classes>
         <class name="Test" />
      </classes>
   </test>
</suite>
Related