现在的 JMockit 已经偷偷升级到了 1.23 版了,在 JVM 上的 Mock 工具中就数它最无敌了,因为它抢夺了最佳控制点 --javaagent,可以说它是无所不能的。一般我们使用 JMockit 是通过两种方式,new MockUp
和 new Expectations
. JMock 不仅能够 Mock 类的所有方法,还能部分 Mock -- 这个是 new Expectations
的默认行为。所以这里我们来看下在使用 new Expectations
的情况下如何对类的部份静态方法或部分实例方法进行 Mock。
大致表述一下,共分为三种情况
- 针对类进行 Mock, 只有录制的静态方法被 Mock 住,其他的静态方法或实例方法都会调用实际实现
- 针对某一实例进行 Mock,只在调用该实例已录制的方法才被 Mock 住,静态方法或新建实例调用任何方法都是实际实现
- 针对类进行 Mock,但录制的是一个实例方法,那么该实例或任何新建实例在调用该录制方法时都会被 Mock 住
不知道上面在说什么,本来就是空洞无凭,所以还是下实例,假定要测试下面这个类,或者说是测试使用到下面类的其他类 阅读全文 >>