最近栈长注意到阿里开源了自家的 Mock 工具:TestableMock,该工具号称最轻量、简单、舒适的 Mock 测试工具,功能十分强大,媲美 PowerMock,用法比 Mockito 还要简洁,还不挑框架,指哪换哪,一个 @MockMethod 注解打天下。。。
这么强大的么?栈长赶紧来体验一翻!
TestableMock 简介
TestableMock 开源地址:
https://github.com/alibaba/testable-mock
TestableMock 在 2020 年 12 月开始开源,出自阿里云云效团队,主要想解决 Java 开发者在日常单元测试中经常遇到的痛点:
外部依赖Mock繁琐
私有方法难测试
无返回值方法难测试
复杂参数难构造
它所承载的职责是 “让Java没有难测的方法”,换种思路写Mock,让单元测试更简单,这也是 TestableMock 名字的来历。
无需初始化,不挑测试框架,甭管要换的是私有方法、静态方法、构造方法还是其他任何类的任何方法,也甭管要换的对象是怎么创建的。
写好 Mock 定义,加个 @MockMethod 注解,一切统统搞定。
主流Mock工具对比
在 TestableMock 开源之前,目前市面上主流的 Mock 工具主要有:
Mockito
Spock
PowerMock
JMockit
EasyMock
…
Mockito 应该是目前使用最多的 Mock 工具了,因为它使用足够简单,在 IntelliJ IDEA 和 Eclipse