0

您好,我有一个 Person 类和一个 PersonTest.java 来验证我的方法是否正常工作,我的一个方法确定并验证人员的年龄,但是我的测试类中出现错误,指出类 Person 中的方法 getAge 不能应用于给定类型;必需:找到 LocalDate:无参数

原因:实际参数列表和形式参数列表的长度不同

任何帮助将不胜感激。下面是我的方法和测试方法。先感谢您

public int getAge(LocalDate dob)
    {
        LocalDate today = LocalDate.now();

        int age = Period.between(birthdate, today).getYears();
         if (age >= 14 && age <= 115) // valid employee dob
            this.birthdate = dob;
        else
            throw new IllegalArgumentException("the Person must be between 14-               115");    

        return age;
    }

------------------------- 这是我的测试方法 --------------------- -

 public void testGetAge(int age, LocalDate dob) {
        System.out.println("getAge");
        int expResult = 16;
        int result = validPerson.getAge(); // heres the error
        assertEquals(expResult, result);``
    }
4

1 回答 1

2

如我所见, getAge 方法获取LocalDate输入参数,但是在您的测试类中,您在没有任何参数的情况下调用了它。这就是您收到错误的原因:

required: LocalDate found: no arguments

只需将参数传递给它,或使其使用Person年龄。

于 2017-02-23T01:19:29.457 回答