我有一个有多个静态方法的类.1静态方法调用另一个私有方法,最终调用第二个公共静态方法.我想模仿第二个静态方法.那可能吗.例如
public static A(){
b();
}
private static b(){
c();
}
public static c(){
}
Run Code Online (Sandbox Code Playgroud)
我想模拟c(),但希望保持a()和b()的功能.这可能吗?如果是这样,怎么样?
这个现有的SO 问题告诉你如何使用PowerMockito和静态模拟,以及Mockito 的间谍概念.
但是输入中缺少的是:尽管这些技术解决方案有效,但您应该考虑不要走这条路.
相反:您创建了一个难以测试的设计.现在你正在寻找(黑色)嘲弄魔法来启用测试.真正的答案是:退后一步,评估您的设计.尝试重做它,以便测试变得容易.
从长远来看,任何其他方面都浪费时间和精力.因为难以测试的设计在"真实"场景中也难以测试,并且它们通常不灵活且难以维持/增强.
| 归档时间: |
|
| 查看次数: |
311 次 |
| 最近记录: |