2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > java mocked JMockit 中被 Mocked 的对象属性及方法的默认值

java mocked JMockit 中被 Mocked 的对象属性及方法的默认值

时间:2022-07-06 05:39:04

相关推荐

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 的源代码。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。