我有一个Wicket页面类,它根据抽象方法的结果设置页面标题.
public abstract class BasicPage extends WebPage {
public BasicPage() {
add(new Label("title", getTitle()));
}
protected abstract String getTitle();
}
Run Code Online (Sandbox Code Playgroud)
NetBeans通过消息"构造函数中的可覆盖方法调用"警告我,但它应该有什么问题呢?我能想象的唯一选择是将其他抽象方法的结果传递给子类中的超级构造函数.但是很多参数很难读懂.
任何人都可以总结一下,具体功能是什么让你在Mockito上添加PowerMock?
到目前为止,我发现了这些:
它是否添加了其他内容?你能用几行总结一下吗?
使用PowerMock时是否需要牺牲一些东西?
我正在尝试对ClassA(String)以下ClassA类的构造函数进行单元测试:
import ExternalObject;
class ClassA{
private ExternalObject externalObject;
public ClassA() {
super();
}
public ClassA(String string) {
super();
this.externalObject = new ExternalObject().parseString(string);
}
}
Run Code Online (Sandbox Code Playgroud)
我想模拟该new ExternalObject().parseString(string)调用并使用示例ExternalObject对象对其进行存根。
我研究过 Mockito,但似乎用 Mockito 不可能完成这项任务,因为:
new ExternalObject().parseString()调用放在 ClassA 类中的单独方法中,如果没有 ClassA 实例,我也无法调用它。是否可以在 Mockito (或任何其他模拟库)中执行此操作而无需重写大量代码?我愿意对代码进行小的更改,以使其更易于测试。
java ×3
mockito ×2
constructor ×1
inheritance ×1
mocking ×1
oop ×1
overriding ×1
powermock ×1
unit-testing ×1