我的场景如下
class SuperClass{
public void run(){
System.out.println("I am running in Super class");
}
}
class ChildClass extends SuperClass{
public void childRunner(){
System.out.println("Step 1");
System.out.println("Step 2");
**run();**
System.out.println("Last Step");
}
}
现在我想测试 childRunner()
方法 ChildClass
因为这个方法在内部调用超类方法,我需要一些帮助/一段代码来模拟 run()
存在于 SuperClass
中的方法。
原文由 Ravi Kiran Y 发布,翻译遵循 CC BY-SA 4.0 许可协议
理想情况下,您应该“更喜欢组合而不是继承”。
如果你没有这个选项,你可以使用
doNothing
这基本上告诉 Mockito 在调用模拟/间谍对象中的方法时什么都不做。这也被讨论 here以下代码示例应该有所帮助
输出:
如果你使用 super.run();这行不通