基本上,我试图尝试使用junit4参数。我不清楚为什么我将null作为LongMathAddTest构造函数的参数。
由于 GC
@RunWith(value = Parameterized.class)
public class LongMathAddTest {
@Parameters
public static Iterable<Object[]> data()
{
Object[][] data = new Object[][]{{new Long[]{1L,3L,4L,5L},1},{new Object[]{2l,3l,6l,78l,90l},30},{new Object[]{3l,78l,4l,3l},4},{new Object[]{4l,545l,56l,3l},3},{new Object[]{4l},3},{null,null}};
return Arrays.asList(data);
}
private Long numbers[];
private Long total;
public LongMathAddTest(Long numbers[],Long total) {
this.numbers=numbers;
this.total=total;
}
答案 0 :(得分:0)
是因为您的上一个参数组是{null,null}
吗?
此外,当我尝试按原样运行您的代码时,我得到IllegalArgumentExceptions用于类型不匹配,您必须确保您的第二个参数也是一个长(当前它是一个int)并且Object[]
应该都是长[]
通过跨多行分割数据,可能更容易发现错误并使代码更清晰:
Object[][] data = new Object[][]{
{new Long[]{1L,3L,4L,5L},1},
{new Object[]{2l,3l,6l,78l,90l},30},
{new Object[]{3l,78l,4l,3l},4},
{new Object[]{4l,545l,56l,3l},3},
{new Object[]{4l},3},
{null,null}
};