1.下载wiremock的jar包,搭建服务
①百度搜索wiremock,进人官网
②进入官网后,选择docs
③选择 Running as a standalone ,然后下载jar
④启动服务,打开cmd进入jar文件所在目录 使用命令启动
## java -jar wiremock-standalone-2.24.1.jar --port 8090
成功后如图:
2.在项目中配置该服务
①在pom.xml中引入wiremock的依赖
<dependency>
<groupId>com.github.tomakehurst</groupId>
<artifactId>wiremock</artifactId>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
</dependency>
②创建MockServer类,用来伪造请求以及相应
public class MockServer {
public static void main(String[] args) throws IOException {
// 配置连接信息
configureFor("127.0.0.1",8090);
// 清空发布信息
removeAllMappings();
//请求获取用户信息
mock("/user/1", "user");
}
/**
* @Description: 封装一个公用方法
* @Param: url 请求路径 file 文件名称
* @Return:
* @Auther: liumiao
* @Date: 2019/8/24 20:45
*/
private static void mock(String url, String file) throws IOException {
ClassPathResource resource = new ClassPathResource("mock/" + file + ".txt");
//获取配置文件中的数据,将其转为String
String content = StringUtils.join(FileUtils.readLines(resource.getFile(), "UTF-8").toArray(), "\n");
// 发布新信息 将数据返回给前端
stubFor(get //设置请求方式,根据所模拟的不同请求,使用不同的请求方式
(urlPathEqualTo(url)) //设置请求的路径
.willReturn(aResponse() // 设置相应信息
.withBody(content) //设置相应的内容
.withStatus(200))); //设置相应的状态码
}
③添加user.txt文本
在resources的目录下创建一个mock文件夹,在该文件下创建一个user.txt用来模拟请求成功后返回用户的信息,user.txt的内容如下:
{
"name": "张三",
"age": 88,
"address": "阿拉伯"
}
④启动MockServer,进行测试,控制台如下显示:
⑤在浏览器输入访问地址
注意:在启动wiremock时如果报错 :java.lang.NoClassDefFoundError: org/apache/http/HttpEntity
请在pom.xml中添加httpClient的maven依赖
<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient --> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> </dependency>