gpt4 book ai didi

java - 使用 Mockito 调用验证 super.method()

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:45:04 24 4
gpt4 key购买 nike

首先,我想说我正在使用遗留代码,无论我多么想更改它,我都无法更改它。

除此之外,我要做的是验证是否调用了 super.method()。这正是我试图用 Mockito/Junit 测试的内容:

class foo extends JApplet(){

public void destroy(){
super.destroy();
}
}

如果不是调用 super 方法,通常这样的东西在测试用例中就足够了:

verify(foo).destroy();

我已经看到这个问题被问过好几次了,通常的回答是“继承不好,改变你的代码”,不幸的是我根本做不到。有谁知道我可以用来测试这个的任何框架或小技巧吗?

提前致谢 - 我知道这是一个棘手的问题!

最佳答案

您可以重构代码以在其他方法中调用 super 方法,例如:

      class foo extends JApplet(){

public void destroy(){
callSuperDestroy();
}
public void callSuperDestroy(){
super.destroy();
}}

然后验证:

verify(foo).callSuperDestroy();

关于java - 使用 Mockito 调用验证 super.method(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20523553/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com