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