2020-11-10 13:06:48 +08:00
|
|
|
|
# TestableMock
|
2020-10-25 14:24:21 +08:00
|
|
|
|
|
2020-11-22 22:12:51 +08:00
|
|
|
|
换种思路写Mock,让单元测试更简单。
|
2020-10-25 14:24:21 +08:00
|
|
|
|
|
2020-11-24 23:18:12 +08:00
|
|
|
|
无需初始化,不挑测试框架,甭管要换的方法是被测类的私有方法、静态方法还是其他任何类的成员方法,也甭管要换的对象是怎么创建的。写好Mock方法,加个`@TestableMock`注解,一切统统搞定。
|
2020-11-22 22:12:51 +08:00
|
|
|
|
|
|
|
|
|
文档:https://alibaba.github.io/testable-mock/
|
2020-10-25 14:24:21 +08:00
|
|
|
|
|
|
|
|
|
## 目录结构
|
|
|
|
|
|
|
|
|
|
```bash
|
2020-12-08 15:51:51 +08:00
|
|
|
|
|-- testable-all ➜ 依赖聚合,便于一次性引用所有子模块功能
|
|
|
|
|
|-- testable-processor ➜ 编译期代码预处理模块,提供测试辅助功能
|
|
|
|
|
|-- testable-agent ➜ JavaAgent模块,提供Mock测试相关功能
|
|
|
|
|
|-- testable-core ➜ 基础功能模块,提供Mock相关注解和工具类
|
|
|
|
|
|-- testable-maven-plugin ➜ Maven插件模块,用于简化JavaAgent注入
|
2020-10-25 14:24:21 +08:00
|
|
|
|
|-- demo
|
|
|
|
|
| |-- java-demo ➜ Java语言的示例代码
|
|
|
|
|
| `-- kotlin-demo ➜ Kotlin语言的示例代码
|
|
|
|
|
`-- docs ➜ 项目使用文档
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 构建项目
|
|
|
|
|
|
|
|
|
|
主项目使用JDK 1.6+和Maven 3+版本构建,其中`demo`子项目需要JDK 1.8+版本。
|
|
|
|
|
|
|
|
|
|
```bash
|
2020-11-04 11:48:07 +08:00
|
|
|
|
mvn clean install
|
2020-10-25 14:24:21 +08:00
|
|
|
|
```
|
2020-11-22 22:12:51 +08:00
|
|
|
|
|
|
|
|
|
## 本地生成文档
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
docsify serve docs
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
> Testable文档使用`docsify`工具生成,构建前请安装[nodejs](https://nodejs.org/en/download/)运行时,并使用`npm install -g docsify`命令安装文档生成工具。
|
|
|
|
|
|