testNG的高级用法 --DataProvider
@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); } }