如何测试抽象类?我研究了它,发现需要创建一个模拟对象,但是如何创建一个模拟对象呢?我不知道,有人可以帮忙吗?例如,这是我的抽象类:
public abstract class Aging {
private int age;
public Aging(int age) {
setAge(age);
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
我试图使用以下代码来测试构造函数:
@Test
public void testAgingConstructor() {
Aging a = new Aging(18);
a.setAge(19);
Aging b = new Aging(19);
assertEquals(b, a);
}
我收到一条错误消息“老化是抽象的;无法实例化”。我该怎么办?
最佳答案
为了实例化您的抽象类,您需要创建一个具体的子类。
@Test
public void testAgingConstructor() {
class AgingSubclass extends Aging {
public AgingSubclass(int age) { super(age); }
}
Aging a = new AgingSubclass(18);
a.setAge(19);
Aging b = new AgingSubclass(19);
assertEquals(b, a);
}