我的开发团队已经开始使用Mockito并拥有已定义为“final”的类。我在 Joshua Bloch 的 Effective Java 和 SO 线程When to use final中读到所有类都应该使用 final 修饰符。线程中存在一些分歧,但我确实同意强制类组合的想法,除非继承有意义。
当我想使用像 Mockito 这样要求类没有“final”修饰符的测试框架来测试类时,我应该怎么做? 我希望其他人在他们的开发过程中遇到过类似的问题。您的开发团队达成了哪些决议?
有两个明显的答案,例如使用 JMock 或删除我们要测试的类上的“final”修饰符,但我们想坚持使用一个外部测试框架(JUnit 除外),可能很难说服其他开发人员删除“最终”修饰符。
谢谢。