接口测试使用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返回的子项http://localhost:3000/shuiguo?name=苹果或者shuiguo?id=3或者?id=2&name=香蕉将返回不同结果
3.启动使用npm run mock规避使用(json-server --watch aa.json)
启动服务直接使用如下:
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(每页显示两条,正序排)