2020-06-22 使用MockJS遇到的问题
2020-06-22 本文已影响0人
想写点文章的jyz
场景:一个接口不同情况下会返回不同的错误码,在已知所有错误码的情况下,期望mock接口每次返回的数据是按顺序生成的,想通过多次请求接口(比如多次点击提交按钮),就可测试不同错误码前端处理业务的逻辑
eg:第一次请求期望errorCode返回101,第二次请求期望errorCode返回102。。。
看了下官方文档,发现有以下定义
5. 属性值是数组 Array
'name|1': array从属性值 array 中随机选取 1 个元素,作为最终值。
'name|+1': array从属性值 array 中顺序选取 1 个元素,作为最终值。
于是突发奇想:想通过该方式实现上述场景需求
const response = Mock.mock({
'errorCode|+1':['101','102','200']
})
实验了很多次,发现多次请求接口只会取第一值101,败!!!
那么这个规则的使用场景是怎样的呢,如下图,发现批量生成数组该规则会按顺序选取!!!!
所以目前还未找到可以实现上述场景按顺序选取元素,最后采取了Radom.extend随机选取
如果大家还有别的Mock数据方法实现该场景,欢迎留言~~