zoukankan      html  css  js  c++  java
  • 阿里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;

    不会炒菜的非专业测试人员
  • 相关阅读:
    何为优秀的前端?
    CSS清除浮动的三个方法
    CSS3 速查手册
    高性能JavaScript
    chrome开发者工具使用
    AndroidJetpack数据处理之数据库Room和懒加载Paging
    AndroidJetpack Fragment之Navigation和ViewPager2
    第一行代码之菜单
    Day1
    1.16 24点游戏
  • 原文地址:https://www.cnblogs.com/carterzhang/p/6227770.html
Copyright © 2011-2022 走看看