Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在方法中获取测试数据(由数据提供程序提供);“onTestStart”;iTestListener公司_Java_Testng - Fatal编程技术网

Java 如何在方法中获取测试数据(由数据提供程序提供);“onTestStart”;iTestListener公司

Java 如何在方法中获取测试数据(由数据提供程序提供);“onTestStart”;iTestListener公司,java,testng,Java,Testng,所以我想解决的问题是: 我有一个测试类和一个@test方法runtest,它从数据提供者接收数据。在启动runtest方法之前,我想根据runtest将从数据提供程序接收的测试数据执行一些操作 为此,我查看了iTestListener,它有一个方法onTestStart,但我无法找出如何获取该方法中运行实例的测试数据 欢迎使用任何其他好方法。创建一个扩展TestListenerAdapter的类 public class TestListener extends TestListenerAda

所以我想解决的问题是:

我有一个测试类和一个
@test
方法
runtest
,它从数据提供者接收数据。在启动runtest方法之前,我想根据runtest将从数据提供程序接收的测试数据执行一些操作

为此,我查看了
iTestListener
,它有一个方法
onTestStart
,但我无法找出如何获取该方法中运行实例的测试数据


欢迎使用任何其他好方法。

创建一个扩展TestListenerAdapter的类

 public class TestListener extends TestListenerAdapter {
    @Override
    public void onTestStart(ITestResult tr) {
       super.onTestStart(tr);
       Object[] params = tr.getParameters();
       String a = (String)params[0];
       int b = (int)params[1];
       //Add whatever you want to do before the test case starts
    }
 }
向测试类添加注释

@Listeners(ResultReporter.class)
public class CoreSingleApplicant1TestCase {

   @Test(dataprovider = "dataprovider",dataProviderClass = StaticProvider.class))
   public void runtest(String a, int b){
   }
}
数据提供程序类

public class StaticProvider {
  @DataProvider(name = "create")
  public static Object[][] createData() {
    return new Object[][] {
      new Object[] { 
         {"String", 1},
         {"Integer",2} }
    }
  }
}

您如何开始您的测试用例?您能否解释一下您将如何获得提供给测试方法的测试数据。我的数据提供程序在另一个类中。不在测试课上//在测试用例开始之前添加任何您想做的事情。您如何在这里传递测试数据?这就是我需要知道的。根据您的要求更新答案