gpt4 book ai didi

java - Test NG 中使用 Object[][] 类型数据提供者的函数应该接收什么样的参数?

转载 作者:行者123 更新时间:2023-12-01 14:17:52 25 4
gpt4 key购买 nike

我正在尝试实现将使用多个数据提供程序的测试。首先,我创建了一个数据提供程序类

public class FreightAuthenticatedDataProvider {

@DataProvider(name = "correctUsercorrectFreight")
public static Object[][] correctUsercorrectFreight() {
return new Object[][] {
{UserDataProvider.correctUsers(),
FreightDataProvider.correctFreights()}
};
}
}

在此类中,UserDataProvider. CorrectUsers()FreightDataProvider. CorrectFreights() 是集合迭代器。在此步骤中,每个集合都已正确初始化。然后我从测试方法引用我的数据提供者:

@Test(dataProviderClass = FreightAuthenticatedDataProvider.class, dataProvider = "correctUsercorrectFreight")
public void createSimpleFreight(User user, Freight freight) {
// test actions
}

我的测试方法中出现以下错误数据提供者试图传递 1 个参数,但方法 ...#createSimpleFreight 需要 2 个参数,而 TestNG 无法注入(inject)合适的对象

你能告诉我,测试方法中应该传递什么类型的参数?另外如果您知道更好的解决方案,请评论。

最佳答案

您的数据提供程序有错误。每次测试您只创建一个参数。一次调用的参数进入 2D 数组的同一“行”。

试试这个:

public class FreightAuthenticatedDataProvider {

@DataProvider(name = "correctUsercorrectFreight")
public static Object[][] correctUsercorrectFreight() {
return new Object[][] {
// when correctUser() and correctFreights() return Lists,
// than it needs to be converted, see comments
{UserDataProvider.correctUsers(), FreightDataProvider.correctFreights()}
};
}
}

关于java - Test NG 中使用 Object[][] 类型数据提供者的函数应该接收什么样的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17942387/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com