我正在使用@DataProvider
annotation for TestNG构建动态测试。在Java中,如何将定义为Queue<Deque<String>> queueOfDeques = ArrayDeque<Deque<String>>();
的数据结构转换为Object[][]
?基于this explanation,我尝试这样做:在Java中将队列<Deque <String>>转换为对象[] [] [
@DataProvider(name = "providedQueue")
public static Object[][] dataForTest(){
return new Object[][]{{SomeClass.GetQueueOfDeques}};
}
凡GetQueueOfDeques
返回上面定义的queueOfDeques
数据结构的方法。我不知道我在做什么错误,但它不会像应该那样转换变量,从而导出TestNG忽略参数化测试。
java.lang.ClassCastException:net.easysol.detectid.migrationtester.ArrayDeque不能转换为java.lang.String
我知道这不是我的业务......但为什么要降级到Object [] []集合?您仍然需要重新投射其内容,以便能够访问元素方法:/ –
@DiegoMartinoia这是'@ DataProvider'适用的返回类型。 –