Testng 如何使@Test只运行一次

Testng 如何使@Test只运行一次,testng,testng-dataprovider,Testng,Testng Dataprovider,我正在从事数据驱动测试,目前我被困在@Test上。我希望将数据传递给两个不同的数据提供程序,并希望只运行一次@test。我怎样才能做到这一点。下面是描述我的情况的相同代码 @DataProvider(name = "dp") public Object[][] createData(Method m) { System.out.println(m.getName()); // print test method name return new Object[][] { new

我正在从事数据驱动测试,目前我被困在@Test上。我希望将数据传递给两个不同的数据提供程序,并希望只运行一次@test。我怎样才能做到这一点。下面是描述我的情况的相同代码

 @DataProvider(name = "dp")
   public Object[][] createData(Method m) {
  System.out.println(m.getName());  // print test method name
  return new Object[][] { new Object[] { "Cedric" }};
}

@Test(dataProvider = "dp")
public void test1(String s) {
}

@Test(dataProvider = "dp")
public void test2(String s) {
}

这里我想先运行@Test,只运行一次。有什么方法可以做到这一点吗?

根据您的评论,听起来您希望在测试中使用dependsOnMethods

例如,如果希望每次都在test2之前运行test1,则需要将test2设置为:

@Test(dependsOnMethods = "test1", alwaysRun = true, dataProvider = "dp")
public void test2(String s) {
}

无论如何,它应该只运行一次,因为您只提供了一个变量Cedric-如果不运行一次,它会做什么?上述代码仅用于演示,我的实际情况在第一次测试中看起来也很相似,我想登录到网站,在第二次测试中,我将进行所有其他测试操作。如果假设我有两个测试,我只想登录一次,并执行第二次测试中的操作。为什么你不发布你有问题的确切示例???