我是Java的新手,并没有做过一般的单元测试
有人能告诉我为什么不能嘲笑final
课程吗?
答案 0 :(得分:4)
java世界中最常见的模拟框架无法模拟final
类/方法,因为它们通常基于创建代理。不可能为final
类创建代理,因为我们不能将extends
类作为final
类的子类。
但是,有一些解决方法和解决方案,其中许多都可以找到here。
答案 1 :(得分:2)
JMockit能够模拟最终的类,方法,静态和私有字段,因为它主要基于java.lang.instrument包类和创建代理对象。