vlambda博客
学习文章列表

接口测试使用json-server mock模拟数据(一)


json-server是一个node模块,运行express服务器,可以指定一个json文件作为api的数据源

主要解决:常常在测试过程中,需求还未出来测试想进行接口测试,前端也想联调接口保证功能实现,这时候不可避免的要使用mock的数据。很多时候,我们并不想使用简单的静态数据,而是希望自己起一个本地的mock-server来完全模拟请求以及请求回来的过程。json-server是一个很好的可以替我们完成这一工作的工具


官网:

 https://github.com/typicode/json-server#articles


1.安装:npm install -g json-server

安装成功:cmd->json-server -v查看版本


2.pycharm创建一个工程-创建数据

执行:json-server --watch aa.json(默认端口是3000)如果想指定端口

json-server --watch aa.json --port 5000


浏览器输入:


  http://localhost:3000/shuiguo

  http://localhost:3000/user


返回结果 

接口测试使用json-server mock模拟数据(一)

如果想指定获取json返回的子项http://localhost:3000/shuiguo?name=苹果或者shuiguo?id=3或者?id=2&name=香蕉将返回不同结果


3.启动使用npm run mock规避使用(json-server --watch aa.json)

接口测试使用json-server mock模拟数据(一)


启动服务直接使用如下:


4.模拟数据多的情况下有时候分页

  分页采用 _page 来设置页码, _limit 来控制每页显示条数。如果没有指 定 _limit ,默认每页显示2条 ,排序采用 _sort 来指定要排序的字段, _order 来指定排序是正排序还是逆排序(asc | desc ,默认是asc)


例如:

{
"shuiguo": [
{
"id": 1,
"name": "苹果",
"price": "33"
},
{
"id": 2,
"name": "香蕉",
"price": "34"
},
{
"id": 3,
"name": "苹果",
"price": "33"
},
{
"id": 4,
"name": "苹果",
"price": "33"
},
{
"id": 5,
"name": "苹果",
"price": "33"
},
{
"id": 6,
"name": "苹果",
"price": "33"
}
],
"user": [
{
"name": {
"username": "nihao",
"password": 123
},
"address": "上海市"
}
]
}


http://localhost:5004/shuiguo?_page=2&_limit=2&_sort=id&_order=asc(每页显示两条,正序排)