[PPJ_21] Mock工具Json Server安装、入门操
目录结构
一、关于Mock
1.Mock简介
2.Mock作用
二、关于Json Server
1.Json Server简介
2.Json Server下载安装
三、json-server操作案例
1.创建数据文件
2.启动JSON Server服务
3.Postman对JSON Server进行接口预测试
一、关于Mock
1.Mock简介
Mock:“模拟”的含义。Mock测试,指在测试过程中,对于某些不容易构造or获取的对象,为便于测试而用一个虚拟的对象来创建并进行测试的方法。即通过某种技术手段模拟测试对象的行为,返回预先设计的结果(对任意被测对象,可根据具体测试场景需要,返回特定的结果)。
如:测试支付时,不想真实支付,则可使用Mock来模拟支付,并返回预先设计的支付结果。
2.Mock作用
1)可解除测试对象对外部服务的依赖,使得测试用例可独立运行
外部服务,如:数据库、第三方接口...
2)提前创建测试,实践TDD(测试驱动开发)
通过创建Mock,则可在接口开发完成之前写接口测试脚本,当接口开发完成时再转换为真实的接口进行测试即可。
3)替换外部服务调用,提升测试用例的运行速度
任何外部服务调用至少是跨进程级别的消耗,甚至是跨系统、跨网络的消耗,而Mock可以把消耗降低到进程内(在本地环境之内操作)。
二、关于JSON Server
1.JSON Server简介
JSON Server:是一款小巧的Mock工具,它可不写代码就能快速创建一套Restful风格的API。
相较Django,通过flask( Python编写的轻量级Web应用框架)来实现Mock更为简便。
主页传送门:https://www.npmjs.com/package/json-server
Github项目:https://github.com/typicode/json-server
2.JSON Server下载安装
(1)环境依赖
- Node.js
- npm / cnpm
以上环境安装,可参看 ==> [PPJ_09] Postman之Newman命令执行测试环境搭建
(2)安装JSON Server
以全局方式安装JSON Server,操作命令为:
npm install -g json-server
耐心 Waiting。。。
(3)校验安装效果
json-server -h
三、JSON Server操作案例
1.创建数据文件
db.json
{
"posts": [
{ "id": 1, "title": "json-server", "author": "typicode" }
],
"comments": [
{ "id": 1, "body": "some comment", "postId": 1 }
],
"profile": { "name": "typicode" }
}
以上json文件中,包含3个对象:posts、comments、profile。每个对象中分别由不同的属性构成。
2.启动JSON Server服务
json-server --watch F:\Py_Script\api_testing\json_test\db.json
JSON Server启动 OK
PS:
以上启动JSON Server时默认端口是3000,若该端口号被占用,则可自定义端口号,如设置为3001端口,对应操作命令为:json-server --watch db.json --port 3001
其他资源页面:
http://localhost:3000/posts
http://localhost:3000/comments
http://localhost:3000/profile
3.Postman对JSON Server进行接口测试
以上资源数据,可以使用HTTP请求发各种方法(GET、POST、PUT、PATCH、DELETE、OPTIONS)对其进行修改。
以(http://localhost:3000/posts/)为例,通过Postman进行调试
-
Case01:查询数据
请求方式:GET
请求URL:http://localhost:3000/posts
-
Case02:添加数据
请求方式:POST
请求URL:http://localhost:3000/posts
Data:
id: 2
title: Test
author: 000
该数据已添加到db.json数据文件文件中存储,如下:
-
Case03:修改数据
请求方式:PATCH
请求URL:http://localhost:3000/posts/2
Data:
author: 002
-
Case04:删除数据
请求方式:DELETE
请求URL:http://localhost:3000/posts/2
id=2的数据已被删除,查询只有id=1的数据记录
PS:
以上请求访问的操作过程,会在启动JSON Server时的命令窗口界面中自动作简单的记录,如下: