高级Mock

    在测试时,很多时候需要根据不同的请求参数、IP 返回不同的 HTTP Code、HTTP 头和 JSON 数据。

    Mock 期望就是根据设置的请求过滤规则,返回期望数据。

    1. 进入接口详情页,点击『高级 Mock』选项。
    2. 点击『添加期望』,填写过滤规则以及期望返回数据,点击『确定』保存。
      高级Mock - 图1

    3. 然后尝试在浏览器里发送符合规则的请求,查看返回的数据是否符合期望。
      高级Mock - 图2

    期望填写

    基本信息

    • IP 过滤:请求的 IP 是设置的地址才可能返回期望。默认 IP 过滤关闭,任何 IP 地址都可能返回期望。
    • 参数过滤:请求必须包含设置的参数,并且值相等才可能返回期望。参数可以在 Body 或 Query 中。

    响应

    • HTTP Code:期望响应的 HTTP 状态码
    • 延时:期望响应的延迟时间
    • HTTP 头:期望响应带有的 HTTP 头
    • 返回 JSON:期望返回的 JSON 数据

    YApi 提供了写 JS 脚本方式处理这一问题,可以根据用户请求的参数修改返回内容。

    请求

    • header 请求的 HTTP 头
    • params 请求参数,包括 Body、Query 中所有参数
    • cookie 请求带的 Cookies

    响应

    • mockJson
      接口定义的响应数据 Mock 模板

    • httpCode
      响应的 HTTP 状态码

    • Random
      Mock.Random 方法,可以添加自定义占位符,详细使用方法请查看

    使用方法

    1. 首先开启此功能
    2. Mock 脚本就是用 JavaScript 对 mockJson 变量修改,请避免被全局变量(httpCode, resHeader, delay)的修改

    示例2, 生成高度自定义数据内容

    1. var a = [1,1,1,1,1,1,1,1,1,1]
    2. mockJson = {
    3. errcode: 0,
    4. email: Random.email('qq.com'),
    5. data: a.map(function(item){
    6. return Random.city() + '银行'
    7. }

    请求 Mock 数据时,规则匹配优先级:Mock 期望 > 自定义 Mock 脚本 > 项目全局 mock 脚本 > 普通 Mock。