【发布时间】:2009-08-20 14:12:13
【问题描述】:
我有一个工厂方法可以创建用于单元测试的对象。这些对象都派生自同一个基类:
public static <T extends BaseEntity> T modMake(Class<T> clazz)
{
try {
return clazz.newInstance();
} catch (InstantiationException e) {
// Should never happen
throw new AssertionError(e);
} catch (IllegalAccessException e) {
// Should never happen
throw new AssertionError(e);
}
}
现在我想重写该基类中的 getter 方法,但仅用于测试。我通常会使用匿名类来做到这一点,例如(Node 是BaseEntity 的子类型之一):
public static Node nodMake()
{
return new Node() {
@Override
public long ixGet() { return 1; }
};
}
我也可以在函数中使用Class 参数来做到这一点吗?
【问题讨论】:
标签: java reflection mocking