简单的JUnit测试不起作用

时间:2017-11-20 14:32:53

标签: java junit bluej

我们目前正在编程类中学习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})
突出显示

1 个答案:

答案 0 :(得分:2)

{1, 2}因为int[]不是有效参数。请改用new int[]{1, 2}

assertEquals(3, pIArrays1.sum(new int[]{1,2}));