@DataProvider
Method参数
数据提供者的第一个参数是java.lang.reflect.Method,TestNG传递这个将调用的测试方法。如果您希望数据提供者根据不同的测试方法返回不同的数据,那么这种做法就非常有用。
package com.test.jwen.httpApiAuto;
import java.lang.reflect.Method;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
public class TestNg2 {
@DataProvider
public Object[][] provideNumbers(Method method){
String methodName = method.getName();
if (methodName.equals("two")){
return new Object[][]{new Object[] {2}};
}
if (methodName.equals("three")){
return new Object[][]{new Object[] {3}};
}
return null;
}
@Test(dataProvider = "provideNumbers")
public void two(int param){
System.out.println("Two received : " + param);
}
@Test(dataProvider = "provideNumbers")
public void three(int param){
System.out.println("Three received : " + param);
}
}