• 阿里RAP+fiddler实现app原生应用的cgi数据mock----- (二)添加mock规则,随机返回4中类型(不同长度)的数据


    ##RAP如何生成json数据##

    1、页面添加mock规则;直接入库;
    2、服务从db中获取对应的规则串,调用mock-min.js解析,生成数据返回给服务;
    MockjsRunner.doRenderMockJsRule调用context.evaluateString直接执行mock-min.js,返回对应生成的结果;
    3、服务讲回调函数的结果返回给前端;
    ##RAP如何添加规则##
    mock-min.js中对Random.extend进行扩展:

    Random.extend({ 
    /*随机返回一个随机值,包含null,类型包括String,number,boolean*/
    testRandom: function(){ 
    /*随机数确定类型*/
    var key = Number(Math.floor(Math.random()*10)+2);
    /*2~36随机长度字符串*/
    var length = Math.floor(Math.random()*36)+1;
    var result;
    var flag=0;
    if(key>0 && key <=3){
    flag=1;
    }else if(key>3 && key<=6){
    flag=2;
    }else if(key>6 && key<=9){
    flag=3
    }
    switch(flag){
    /*return String类型*/
    case 1:
    result=Math.random().toString(length);
    break;
    /*return number类型*/
    case 2:
    if(key==6){
    result=0;
    }else{ 
    var type = key%2 == 0 ? 1:-1;
    result=Math.random()* Math.pow(2,length) * type;
    }
    break;
    /*return boolean类型*/
    case 3:
    result=key%2 == 0 ? true:false;
    break;
    /*return null*/
    default:
    result=null;
    }
    return result;
    }
    });


    ###遇到的问题记录###
    1、javascript的switch case中,case不支持表达式,只支持基础类型变量;
    2、很久不写代码,连基本的判定表达式都写成了数学表达式,wtf;

    不会炒菜的非专业测试人员
  • 相关阅读:
    CF Round #427 (Div. 2) C. Star sky [dp]
    顺时针打印矩阵
    堆 栈-相关知识【转】
    二叉树的镜像
    树的子结构
    合并两个排序的链表
    数值的整数次方
    位运算:二进制中1的个数
    斐波那契数列及其变形
    重建二叉树
  • 原文地址:https://www.cnblogs.com/carterzhang/p/6227770.html
Copyright © 2020-2023  润新知