我正在 Eclipse 中进行 Java 练习,以将 JUnit 测试添加到现有项目中。这不是为了作业或其他任何事情,只是一种习惯 Eclipse 的方法(我之前一直在使用 BlueJ)。 但是,我写的两个测试方法似乎不起作用。由于某些原因,我创建的 Circle 对象(具有半径字段,我将其设置为 6、8 和 2 到三个不同的圆)保持默认半径为 0,因此我的两种测试方法(一种实际上是报告工作,但这是因为它正在检查圆周 >= 0)失败。我做错了什么?我不是一位经验丰富的程序员,因此这个错误对于你们大多数人来说可能是显而易见的。
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class CircleTest {
Circle circle1;
Circle circle2;
Circle circle3;
@Before
public void setUp() throws Exception {
circle1 = new Circle(6.00);
circle2 = new Circle(8.00);
circle3 = new Circle(2.00);
}
@Test
public void testCircumference() {
assertTrue(circle1.circumference() >= 0);
assertTrue(circle2.circumference() >= 0);
assertTrue(circle3.circumference() >= 0);
}
@Test
public void testGetter() {
assertEquals(6, circle1.getRadius(), 1e-15);
assertEquals(8, circle2.getRadius(), 1e-15);
assertEquals(2, circle3.getRadius(), 1e-15);
}
@After
public void tearDown() throws Exception {
}
}
最佳答案
getRadius
返回的值很可能是 double
基元类型的默认值 0.0
确保在Circle
的构造函数中分配了半径
public Circle(double radius) {
this.radius = radius;
}
以便可以通过getRadius
返回该值
public double getRadius() {
return radius;
}
关于java - JUnit 测试 getter 方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19384736/