【发布时间】:2016-02-08 15:18:28
【问题描述】:
我正在使用 @DataProvider annotation for TestNG 构建动态测试。在Java中,如何将定义为Queue<Deque<String>> queueOfDeques = ArrayDeque<Deque<String>>();的数据结构转换为Object[][]?基于this explanation,我尝试了这个:
@DataProvider( name = "providedQueue" )
public static Object[][] dataForTest(){
return new Object[][]{{SomeClass.GetQueueOfDeques}};
}
其中GetQueueOfDeques 方法返回上面定义的queueOfDeques 数据结构。我不知道我做错了什么,但它没有按应有的方式转换变量,因此 TestNG 忽略了参数化测试。
java.lang.ClassCastException:com.company.product.migrationtester.ArrayDeque 无法转换为 java.lang.String
【问题讨论】:
-
我知道这不关我的事...但是您为什么要降级为 Object[][] 集合?之后您仍然需要重新投射其内容才能访问元素方法:/
-
@DiegoMartinoia 这是
@DataProvider适用的返回类型。