入门版本,持续学习中
一、简单介绍
API
EasyMock 是一套用于通过简单的方法对于给定的接口生成 Mock 对象的类库。它提供对接口的模拟,能够通过录制、回放、检查三步来完成大体的测试过程,可以验证方法的调用种类、次数、顺序,可以令 Mock 对象返回指定的值或抛出指定异常。通过 EasyMock,我们可以方便的构造 Mock 对象从而使单元测试顺利进行。
可视化平台
easy-mock一个在线 Mock 平台,Easy Mock 是一个可视化,并且能快速生成 模拟数据 的持久化服务,
Easy Mock 支持基于 Swagger 创建项目,以节省手动创建接口的时间;
二、API(EasyMock)参考文档
官网:https://easymock.org/
github地址:https://github.com/easymock/easymock
三、简单创建一个单元测试实例
1、开发环境: IDEA+maven+java1.8
2、pom.xml依赖添加
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>4.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.objenesis/objenesis -->
<dependency>
<groupId>org.objenesis</groupId>
<artifactId>objenesis</artifactId>
<version>3.2</version>
<scope>test</scope>
</dependency>
3、java代码
mock接口创建
public interface Collaborator {
String documentAdded(String title);
}
业务处理类
public class ClassTested {
private Collaborator listener;
public void setListener(Collaborator listener) {
this.listener = listener;
}
public void addDocument(String title, String document) {
String s = listener.documentAdded(title);
System.out.println(s);
}
}
测试类
import org.easymock.*;
import org.junit.Rule;
import org.junit.Test;
public class ExampleTest extends EasyMockSupport {
@Rule
public EasyMockRule rule = new EasyMockRule(this);
@Mock
private Collaborator collaborator; // 1
@TestSubject
private ClassTested classUnderTest = new ClassTested(); // 2
@Test
public void addDocument() {
EasyMock.expect( collaborator.documentAdded("New Document")).andReturn("abd");
replayAll(); // 4
classUnderTest.addDocument("New Document", "content"); // 5
verifyAll(); // 6
}
}
四、easy-mock本地化搭建
参考文档:https://my.oschina.net/u/4270180/blog/3425411
步骤如下
1、clone 项目
git clone https://github.com/easy-mock/easy-mock.git
2、安装nodejs、mongodb、redis,以下为在mac上安装项目、如果要在win或linux下安装可参考菜鸟教程
2.1mac环境redis下载安装
redis官网[添加链接描述](https://redis.io/)下载压缩包:

在终端进入下载后的目录,然后:
解压:tar zxvf redis-5.0.5.tar.gz
移动到:sudo mv redis-5.0.5 /usr/local
切换到:cd /usr/local/redis-5.0.5/
编译测试:make test
编译安装:make install
完成安装
要使用redis,先开启redis服务端,在终端输入redis-server 不要关闭此窗口,并重新打开一个终端,输入redis-cli,打开redis客户端
2.2mac环境mogondb下载安装
下载地址:https://www.mongodb.com/download-center#community
cd /usr/local
1、下载
sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-4.0.9.tgz
2、解压
sudo tar -zxvf mongodb-osx-ssl-x86_64-4.0.9.tgz
3、重命名为 mongodb 目录
sudo mv mongodb-osx-x86_64-4.0.9/ mongodb
安装完成后,我们可以把 MongoDB 的二进制命令文件目录(安装目录/bin)添加到 PATH 路径中:
export PATH=/usr/local/mongodb/bin:$PATH
五、启动过程报错总结
启动mogondb报错找不到db路径解决方法
手动创建数据库路径 sudo mkdir -p /easy-mock
分配权限 sudo chown id -u /easy-mock
启动mongodb(进入bin目录):./mongod --dbpath=/easy-mock
启动redis
进入终端 输入命令redis-server
启动 easy-mock 执行命令npm install报错
ERR! Response timeout while trying to fetch http://registry.npmjs.org/supports-color (over 30000ms)
解决方法
查看当前源: npm config get registry
npm切换源:
切换至淘宝源:npm config set registry=http://registry.npm.taobao.org/
切换至华为源:npm config set registry=https://mirrors.huaweicloud.com/repository/npm/
切换至npm源:npm config set registry=http://registry.npmjs.org
临时使用:npm --registry https://registry.npm.taobao.org install express
报错 sh: nodemon: command not found
解决方法:npm uninstall nodemon
sudo npm install -g --force nodemon
执行 npm run dev 项目启动但打不开网页,
检查nodejs必须是v8版本
检查mongodb、redis是否启动成功

本文介绍了EasyMock的简单介绍、API参考、如何创建单元测试实例,以及详述了easy-mock的本地搭建过程,包括mac环境下redis和mongodb的安装。同时,文章还列举了解决启动过程中遇到的问题,如npm响应超时、数据库路径问题等。
1115

被折叠的 条评论
为什么被折叠?



