我是java新手,我正在学习JUnit测试,我在网上找到的所有例子都是关于添加两个数字。
这是我在班级SELECT week, AVG(my_value) OVER(ORDER BY week ASC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS avg_my_value
FROM
(SELECT id,
DATE_TRUNC('week', created_at) AS week,
my_value
FROM my_table
ORDER BY week ASC
)
GROUP BY week
SumOfAllSeries
这是我试图在我的JUnit上做的,我似乎无法找到它,请问我该如何测试这段代码。我有一个错误: static int getIndex(int[] array) {
int max = 0;
for(int i= 0; i < array.length; i++) {
if(array[i] > array[max]) {
max = i;
}
}
return max;
}
当我使用The method assertArrayEquals(int[], int[]) in the type Assert is not applicable for the arguments (int[], int)
打印时垃圾并说预计是4.
AssertEquals
更新:我试图将数组更改为4并使用
class SumOfAllSeriesTest {
@Test
void testGetIndex() {
int array[] = {2,4,5,6,7};
int calculateIndex = SumOfAllSeries.getIndex(array);
assertEquals(4, calculateIndex);
}
}
这是正确的方法吗?我没有人问,我想理解这个概念。
答案 0 :(得分:1)
首先请注意,getIndex()
方法不计算总和
它返回数组最大值的索引。
无论如何,要断言最大值或总和的索引,您不需要在测试中使用assertArrayEquals()
。
您不希望断言数组内容,而是索引或总和
所以请改为:
Assert.assertEquals(24, results); // for sum
或
Assert.assertEquals(4, results); // for index