Java 在testng中使用dataprovider提供数据时按顺序运行测试

Java 在testng中使用dataprovider提供数据时按顺序运行测试,java,testng,dataprovider,Java,Testng,Dataprovider,我使用数据提供者向测试提供数据。测试类有3个测试。我希望对数据提供者提供的每个数据实例按顺序运行这三个测试。我尝试了下面的方法,但它对数据提供程序提供的所有数据运行testOne,然后是Test2和Test3 public class TestClass{ @Test(@dataProvider = "getData") public void testOne(){ //Test case logic } @Test(@dataProvi

我使用数据提供者向测试提供数据。测试类有3个测试。我希望对数据提供者提供的每个数据实例按顺序运行这三个测试。我尝试了下面的方法,但它对数据提供程序提供的所有数据运行testOne,然后是Test2和Test3

public class TestClass{

    @Test(@dataProvider = "getData")
    public void testOne(){
         //Test case logic
      }

    @Test(@dataProvider = "getData")
    public void testTwo(){
         //Test case logic
      }

    @Test(@dataProvider = "getData")
    public void testThree(){
         //Test case logic
      }

    @DataProvider
    public Object[][] getData() {
        //data provider code
      }

}
有谁能告诉我如何对数据提供程序提供的数据实例运行这三个测试,然后对下一个数据实例运行这三个测试,依此类推


谢谢

这样就可以了:

public class TestClass {

  @Test(dataProvider = "getData")
  public void allTests() {
    testOne();
    testTwo();
    testThree();
  }

  private void testOne(){
     //Test case logic
  }
  private void testTwo(){
     //Test case logic
  }
  public void testThree(){
     //Test case logic
  }

  @DataProvider
  public Object[][] getData() {
    //data provider code
  }

}

如果必须依赖方法和测试数据调用顺序,我认为单元测试是错误的。你能解释一下为什么需要这样的限制吗?嗨,Gedrox.我不是为了单元测试而尝试这个。我们正在尝试在UI级别进行功能测试。每个测试在前端测试特定场景。每个测试都涉及打开一个浏览器实例。我们不想为所有测试打开浏览器实例,因为这会导致测试执行时间延迟。也许这个问题有帮助。