参数化的JUnit测试延迟集合

时间:2013-02-27 17:42:59

标签: java junit4

我正在编写一个parameterized JUnit 4测试,其中包含大约100k参数的实例,我想从数据方法返回一个集合,它会加载懒惰的东西。但是在我返回java.util.Collection的实现后,我收到了一个类强制转换异常,说我的集合cannot be cast to java.util.List。即使List<Object[]>带注释的方法想要返回Collection<Object[]>,我是否需要实施@Parameters而不是Collection<Object[]>

1 个答案:

答案 0 :(得分:0)

我猜这里,因为你还没有提供任何代码,Hibernate可能会返回List&lt; Object&gt;,而不是List&lt; Object []&gt ;.在data()方法的主体中,迭代Hibernate返回集合并将对象插入到对象数组中,然后收集它们并返回它们。

List<Object[]> result = new ArrayList<Object[]>();
for (Object obj : hibernateReturnCollection) {
    Object[] element = new Object[1];
    element[0] = obj;
    result.append(element);
}
return result;