Charles的mock技术小试牛刀

一、前言

  在我们测试app的时候需要经常对一项功能的状态进行测试,比如有未过期、快过期和已过期等状态,直接修改数据库的数据字段是比较常见的一种手段,但是这种需要对表结构及相关表数据很熟悉,不然会修改出脏数据。那么有没有一种快捷有效可靠的方式呢,答案是有的,mock技术是一种很好的解决方案。

二、接口说明

 

三、相关业务状态说明

  

 四、使用charles的Map Local功能mock各种response

  1、mock为免费

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
    "stateCode": 200,
    "stateMsg": "Success",
    "data": {
        "availableCount": 1,
        "serviceId": 1,
        "serviceStatus": 1,
        "storagePeriod": "30",
        "effectiveMonths": "1",
        "cameraCount": 1,
        "daysRemaining": 4,
        "expireTime": "2021-01-08 19:27:51",
        "isAlert": false,
        "trial": 1,
        "deviceVoList": []
    }
}

 trial的值为1,并且serviceId也为1

output:

 2、mock为付费

复制代码
{
    "stateCode": 200,
    "stateMsg": "Success",
    "data": {
        "availableCount": 1,
        "serviceId": 1006,
        "serviceStatus": 1,
        "storagePeriod": "30",
        "effectiveMonths": "1",
        "cameraCount": 1,
        "daysRemaining": 4,
        "expireTime": "2021-01-08 19:27:51",
        "isAlert": false,
        "trial": 2,
        "deviceVoList": []
    }
}
复制代码

 trial的值为2,并且serviceId为非1

output:

 3、mock为免费快过期

复制代码
{
    "stateCode": 200,
    "stateMsg": "Success",
    "data": {
        "availableCount": 1,
        "serviceId": 1,
        "serviceStatus": 1,
        "storagePeriod": "30",
        "effectiveMonths": "1",
        "cameraCount": 1,
        "daysRemaining": 4,
        "expireTime": "2021-01-08 19:27:51",
        "isAlert": true,
        "trial": 1,
        "deviceVoList": []
    }
}
复制代码

 trial的值为1,并且serviceId为1,isAlert为true

output:

 4、mock为付费快过期

复制代码
{
    "stateCode": 200,
    "stateMsg": "Success",
    "data": {
        "availableCount": 1,
        "serviceId": 1006,
        "serviceStatus": 1,
        "storagePeriod": "30",
        "effectiveMonths": "1",
        "cameraCount": 1,
        "daysRemaining": 4,
        "expireTime": "2021-01-08 19:27:51",
        "isAlert": true,
        "trial": 2,
        "deviceVoList": []
    }
}
复制代码

trial的值为2,并且serviceId为非1,isAlert为true

output:

 5、mock为过期

复制代码
{
    "stateCode": 200,
    "stateMsg": "Success",
    "data": {
        "availableCount": 1,
        "serviceId": 1006,
        "serviceStatus": 2,
        "storagePeriod": "30",
        "effectiveMonths": "1",
        "cameraCount": 1,
        "daysRemaining": 4,
        "expireTime": "2021-01-08 19:27:51",
        "isAlert": true,
        "trial": 2,
        "deviceVoList": []
    }
}
复制代码
serviceStatus为2
output:

如何使用Charles的Map Local功能请参考此篇文章

 

posted @   未来可期_Durant  阅读(136)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示