在 TestNG 中执行 class 的所有测试方法,同时仅访问 class 的特定组

Executing all test methods of a class while accessing only particular group of that class in TestNG

我有以下代码片段-

Class 1 :- DependencyOne.java

public class DependencyOne 
{
   @Test(groups = "xxx")
   public void parentTestMethodOne()
   {
        System.out.println("parent Test Method One");
   }
   @Test(groups = "vizac")
  public void parentTestMethodTwo()
  {
      System.out.println("parent Test Method Two");
  }
  @Test(groups = "xxx")
  public void parentTestMethodThree()
  {
      System.out.println("parent Test Method Three");
  } 
}

另一个class是

Class 2 :- DependencyTwo.java

public class DependencyTwo 
{

   @Test(dependsOnMethods = "testMethodThree")
   public void testMethodOne()
   {
      System.out.println("Test Method One");
   }
   @Test(dependsOnGroups = "xxx")
   public void testMethodTwo()
  {
     System.out.println("Test Method Two");
  }
    @Test(dependsOnMethods = "testMethodTwo")
    public void testMethodThree()
    {
       System.out.println("Test Method Three");
    }
}

当我执行 DependencyTwo 时,它给出以下输出 -

  • parent 测试方法一
  • parent测试方法三
  • parent 测试方法二
  • 测试方法二
  • 测试方法三
  • 测试方法一

    我期待的是——

  • parent 测试方法一
  • parent测试方法三
  • 测试方法二
  • 测试方法三
  • 测试方法一

    任何人都可以向我解释为什么即使我只访问其他 class 的指定组的测试方法,请告诉我如何只访问其他 [=49] 中指定组的测试方法=].

  • 目前我知道的另一种选择

    只需创建一个 testing.xml 文件,您可以在其中管理您想要 include/exclude-

    的方法

    在您的 xml 文件中使用以下内容 -

    <test name="MyTest">
        <groups>
            <run>
                <exclude name="vizac"/>
            </run>
        </groups>
        <classes>
            <class name="com.flipkart.DependencyOne" />
            <class name="com.flipkart.DependencyTwo" />
        </classes>
    </test>