我的问题是:
"数据提供商"在内部将数据发送到测试?
幕后实际发生了什么,以便我们在"测试"?中获取发送的数据。
我很好奇地知道,数据提供者和测试如何通过提及"数据提供者"和"数据提供者"的名称相互连接。将数据发送到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);
}
答案 0 :(得分:1)
来源在这里:https://github.com/cbeust/testng
但简单来说,TestNG通过内省调用数据提供程序并将其值存储在内存中。 然后,TestNG在2dim数组上进行迭代,并使用每个1dim数组的值调用测试方法。
很简单,不是吗?