1

我有以下代码片段-

第 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");
  } 
}

而另一类是

第 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时,它给出以下输出 -

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

    而我期待的是——

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

    任何人都可以解释一下为什么会发生这种情况,即使我只访问其他类的指定组的测试方法,请建议我如何才能只访问其他类中的组指定的测试方法。

    在此处输入图像描述

  • 4

    1 回答 1

    2

    到目前为止我知道的一种选择

    只需创建一个testing.xml文件,您可以在其中管理要包含/排除的方法 -

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

    <test name="MyTest">
        <groups>
            <run>
                <exclude name="vizac"/>
            </run>
        </groups>
        <classes>
            <class name="com.flipkart.DependencyOne" />
            <class name="com.flipkart.DependencyTwo" />
        </classes>
    </test>
    
    于 2017-01-31T16:47:59.160 回答