您好,我有一个 Person 类和一个 PersonTest.java 来验证我的方法是否正常工作,我的方法之一确定并验证人的年龄,但是我在我的测试类中收到错误,指出类 Person 中的方法 getAge 不能适用于给定类型; 必需:本地日期 发现:没有参数
原因:实际参数列表和形式参数列表的长度不同
任何帮助将不胜感激。下面是我的方法和测试方法。预先感谢您
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);``
}
最佳答案
正如我所见, getAge 方法获取 LocalDate
输入参数,但在您的测试类中,您在没有任何参数的情况下调用了它。这就是您收到错误的原因:
required: LocalDate found: no arguments
只需向其传递一个参数,或使其使用Person
年龄。
关于Java测试文件LocalDate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42405111/