【发布时间】:2022-01-09 09:05:18
【问题描述】:
我正在尝试测试 getPoints 以检查它是否使用 Junit5 测试返回正确的值。
public class Grade {
private final int points;
public int getPoints() {
return points;
}
public Grade(int p) throws IllegalArgumentException {
if(p<1 || p>20)
throw new IllegalArgumentException();
points = p;
}
}
目前我的测试是:
@Test
void PointReturnTest() {
int p = 15;
assertSame(p,p);
}
我认为我实际上并没有测试 getPoints,因为它没有链接到我上面的 Junit 测试 ^。我问的原因是因为当我进入时:
int p = 30;
assertSame(p,p);
Junit 测试在无效时仍然通过
if(p<1 || p>20)
有没有更好的测试方法?
编辑: 目前这是我所拥有的:
@Test
void PointReturnTest() {
int p = 15;
Grade grade = new Grade(p);
assertEquals(p, p.getPoints());
}
但令人担忧的是它说:“无法在原始类型 int 上调用 getPoints()”
【问题讨论】:
标签: java eclipse testing junit