Java Mockito如何仅模拟超类方法的调用

Java Mockito如何仅模拟超类方法的调用,第1张

Java Mockito如何仅模拟超类方法的调用

Mockito不支持此功能。

这可能不是你要寻找的答案,但是你看到的是不采用设计原则的症状:

偏重于继承而不是继承

如果你提取策略而不是扩展超类,那么问题就不存在了。

但是,如果不允许你更改代码,但无论如何都必须对其进行测试,并且以这种尴尬的方式仍然存在希望。使用某些AOP工具(例如AspectJ),你可以将代码编织到超类方法中,而完全避免执行(糟糕)。如果使用代理,这将不起作用,则必须使用字节码修改(加载时编织或编译时编织)。也有支持这种技巧的模拟框架,例如PowerMock和PowerMockito。

我建议你进行重构,但是如果这不是一种选择,那么你将获得一些严肃的黑客乐趣。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5040839.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存