我们目前正在编程类中学习JUnit测试。我们的任务是编写一个计算数组中int值之和的方法:
public class PIArrays
{
public int sum(final int[] array) {
int sum = 0;
for(int i = 0; i < array.length; i++){
sum += array[i];
}
return sum;
}
}
然后我们应该在BlueJ的工具的帮助下编写一个测试。
public void testSum()
{
PIArrays pIArrays1 = new PIArrays();
assertEquals(3, pIArrays1.sum({1,2}));
}
sum方法工作正常,但是,测试结果出现此错误消息:
"illegal start of expression"
我究竟做错了什么?
编辑:
公共类PIArraysTest 是错的,它实际上是公共类PIArrays 。我复制了错误的一行。
错误发生在我的测试类中:公共类PIArraysTest 在这一行:
assertEquals(3, pIArrays1.sum({1,2}));
这部分:
({1,2})
突出显示
答案 0 :(得分:2)
{1, 2}
因为int[]
不是有效参数。请改用new int[]{1, 2}
。
assertEquals(3, pIArrays1.sum(new int[]{1,2}));