TestNG的数据提供者如何向内部测试发送数据?

TestNG的数据提供者如何向内部测试发送数据?,testng,testng-dataprovider,Testng,Testng Dataprovider,我的问题是: “数据提供者”如何在内部将数据发送到测试 幕后到底发生了什么,所以我们在“测试”中得到了发送的数据 我很想知道,数据提供者和测试是如何通过提及“数据提供者”的名称而相互连接的,“数据提供者”向测试发送数据的 “数据提供者”是否调用测试并将数据作为参数传递 testMethod("data one", "Data two"); 我的数据提供商代码: import org.testng.annotations.DataProvider; public class Da

我的问题是:

“数据提供者”如何在内部将数据发送到测试

幕后到底发生了什么,所以我们在“测试”中得到了发送的数据

我很想知道,数据提供者和测试是如何通过提及“数据提供者”的名称而相互连接的,“数据提供者”向测试发送数据的

“数据提供者”是否调用测试并将数据作为参数传递

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);
}
资料来源如下:

但简而言之,TestNG通过内省调用数据提供者,并将其值存储在内存中。 然后,TestNG在2dim数组上迭代,并使用每个1dim数组的值调用测试方法


很简单,不是吗?

你到底在找什么?因为我几个月前重写了其中的一些部分,如果你有更具体的问题,我可以回答。但我认为,解决内部设计问题的更好地方是开发人员邮件列表;)事实上,我也在寻找同样的答案,你在回答中也提到过。但我希望得到一点详细的答案,比如testng如何在内部解决对测试的调用……但没关系,我对答案很满意。如果你能详细说明,那将是一个很大的帮助。和两个pull请求,它们修改了注入和管理参数的方式。您可以深入研究修改过的类以了解工作流。@MasterJoe2不,我不能:“这个问题是作者自愿删除的”;)