代码之家  ›  专栏  ›  技术社区  ›  Yoey

简单JUnit测试不起作用

  •  1
  • Yoey  · 技术社区  · 7 年前

    我们目前正在编程课上学习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 是错的事实上 公共类广场 . 我抄错了行。

    错误发生在我的测试类中: 公共类PIArraysTest

    assertEquals(3, pIArrays1.sum({1,2}));
    

    对于本部分:

    ({1,2})
    

    1 回复  |  直到 7 年前
        1
  •  3
  •   Héctor    7 年前

    {1, 2} int[] 不是有效参数。使用 new int[]{1, 2} 相反

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