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);
    }
}

 

 
posted @ 2017-09-24 09:20  whendream  阅读(2948)  评论(0编辑  收藏  举报