TestNG的数据提供者如何在内部向Test发送数据?

时间:2017-07-12 07:05:12

标签: testng testng-dataprovider

我的问题是:

"数据提供商"在内部将数据发送到测试?

幕后实际发生了什么,以便我们在"测试"?中获取发送的数据。

我很好奇地知道,数据提供者和测试如何通过提及"数据提供者"和"数据提供者"的名称相互连接。将数据发送到Test。

"数据提供商"调用测试并将数据作为参数传递?

testMethod("data one", "Data two");

我的数据提供商代码:

   import org.testng.annotations.DataProvider;

    public class DataProviderClass {

    @DataProvider(name = "data-provider")
        public static Object[][] dataProviderMethod() {
        return new Object[][] { { "data one" }, { "data two" } };
    }
}

我的测试代码:

@Test(dataProvider = "data-provider")
public void testMethod(String dataOne, String dataTwo) {
    System.out.println("Data is: " + dataOne + " " + dataTwo);
}

1 个答案:

答案 0 :(得分:1)

来源在这里:https://github.com/cbeust/testng

但简单来说,TestNG通过内省调用数据提供程序并将其值存储在内存中。 然后,TestNG在2dim数组上进行迭代,并使用每个1dim数组的值调用测试方法。

很简单,不是吗?