Yapi:高级Mock的使用

在Yapi上建立的一个项目,添加一个接口,练习一下高级Mock的简单使用。get请求,三个请求参数,两个返回值。
在这里插入图片描述

1 期望

点击【高级Mock】,点击页面中的【添加期望】:
【基本信息】定义发送请求的参数
【响应】定义发送请求参数对应的返回信息
在这里插入图片描述
在这里插入图片描述
添加后默认为开启状态:
在这里插入图片描述
此时,发送请求,其中参数:BuildEnv=daily,得到在期望中配置的响应
在这里插入图片描述
可以根据不同的参数,设置不同的响应,配置多条期望:
在这里插入图片描述

2 脚本

也可以使用自定义Mock脚本来配置不同的参数请求返回相应不同的响应。
在高级Mock页面选择【脚本】,并开启。
上面设置的第一个期望,等同于如下Mock脚本:

if(params.BuildEnv == 'daily'){
    mockJson={
        test_build:1,
        message:'mock脚本,通过!'
    }
}

编辑之后,点击【保存】(注意先关闭期望中的配置,Yapi中mock优先级期望>脚本),然后发送请求
在这里插入图片描述
Mock脚本中可使用Random函数,随机生成返回值。比如Random.csentence(),随机生成一句中文。修改脚本:

if(params.BuildEnv == 'daily'){
    mockJson={
        test_build:1,
        message:'mock脚本,通过!'
        message:Random.csentence()
    }
}

保存后再次访问
在这里插入图片描述
同样,脚本中可以添加多条这样的数据,实现不同的响应


var test_env = ['test1','test2','test3','test4','test5','test6','test7','test8','prod','app','h5','daily']

var build_server = ['jianlc-web','jianlc-boss','jianlc-api','jianlc-open-api','jianlc-activity','jianlc-msg','jianlc-service','jianlc-thirdpaty']

if(params.BuildEnv === ''){
    mockJson={
        test_build:0,
        message:Random.csentence()
    }
}

if(params.BuildEnv == 'daily'){
    mockJson={
        test_build:1,
        message:Random.csentence()
    }
}


if(test_env.includes(params.BuildEnv) && params.BuildPerson == 'admin'){
     mockJson={
        test_build:1,
        message:'管理员允许发布'
    }  
}

if(params.BuildEnv == 'app' && params.BuildPerson == 'xiaoming'){
    mockJson={
        test_build:1,
        message:'允许发布'
    }  
}
if(params.BuildEnv == 'app' && params.BuildPerson != 'xiaoming'){
    mockJson={
        test_build:0,
        message:'发布人员无效'
    }  
}
if(test_env.includes(params.BuildEnv) === false){
    mockJson={
        test_build:0,
        message:'部署环境未登记,不允许发布!'
    }  
}

if(test_env.includes(params.BuildEnv) && params.BuildEnv != 'daily' && params.BuildPerson == 'xiaoming' && build_server.includes(params.BuildServer)){
    mockJson={
        test_build:1,
        message:'允许发布!'
    }  
}

if(test_env.includes(params.BuildEnv) && params.BuildEnv != 'daily' && params.BuildPerson != 'xiaoming'&& params.BuildPerson != 'admin' && build_server.includes(params.BuildServer)){
    mockJson={
        test_build:0,
        message:'环境登记信息有误,不允许发布!'
    }  
}
  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值