<分区>
我正在开发一款编程游戏,玩家可以访问抽象类并扩展它来控制机器人的行为。因为它是一个编程游戏,所以我正在努力保护我的游戏基础设施,这样玩家就不会弄乱游戏,而不仅仅是我给他们的类(class);为此,我将大部分类(class)设为 final
,但现在我无法在单元测试中模拟它们 (mockito + testNG)。
所以我想知道,我该如何解决这个问题?有没有办法让类非最终测试,然后以某种方式在构建周期的后期自动“final
-ize”它们(我使用 maven 以防它与答案)。我不想添加另一个外部库或更改我的模拟库。
如果这不可能,那么第二个问题:使一个类 final
真的安全吗? 我看到一些库可以从中删除 final
分类器字节码,这让我觉得如果 final
可以从已经编译的类中删除,那么它可能就没用了