java mocked,JMockit 中被 Mocked 的对象属性及方法的默认值
前腳研究完?Mockito 中被 Mocked 的對象屬性及方法的默認值, 雖然目今更多的是擁抱著 Mockito, 但總有時對 JMockit 也會擠眉弄眼,誰叫 JMockit 無所不能呢!被 Mockito 的 Mock 對象方法的默認返回值洗腦之后,進而覺察出 JMockit 應該有同樣的實現方式。
經過類似的測試,這里不詳細列出測試過程,只是在基于前篇的測試中加入 JMockit 的依賴,最新版是 1.36。測試類 MyClassTest 中使用
@Mocked
private MyClass myClass;
1
2
@Mocked
privateMyClassmyClass;
來構造 MyClass 的 mock 對象 myClass, 其余代碼是一樣的。相關代碼請前往上篇?Mockito 中被 Mocked 的對象屬性及方法的默認值?中找。 使用 JMockit 后跑出來的效果如下:
fields ----
integer: 0
array: null
double: null
string: null
optional: null
collection: null
map: null
methods ----
integer: 0
array: [J@64c64813
double: 0.0
string: null
optional: Optional.empty
collection: [], class java.util.Collections$EmptyList
map: {}, class java.util.Collections$EmptyMap
JMockit 對于屬于默認值的處理沒什么意外。被 Mock 的方法返回值也存在一個映射關系,那就是?jmockit.internal.util.DefaultValues.java, 點開鏈接,打開源碼,看個究竟。其中的映射比 Mockito 還更為明白,此處拒絕貼出 DefaultValues 的源代碼。
總結
以上是生活随笔為你收集整理的java mocked,JMockit 中被 Mocked 的对象属性及方法的默认值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 男は失恋夜盗11台奔スポーツカーエンブレ
- 下一篇: 关于在Unity2018中使用Vufor