测试之mock数据

一、背景

        测试过程中,我们常常会遇到需要mock测试数据的情况:接口未开发完成提前介入测试、由于种种原因无法获得真实账号真实数据去测试,本次mock的是后端A返回数据,展示逻辑是后端B调用后端A接口,将数据传递给前端,在前端展示。

二、原理

  1. python -m SimpleHTTPServer,搭建一个web服务器,将接口返回的json串存储在这里                                                                1)确认接口请求地址,假设为www.baidu.com/a/b/c/xxx                                                                                                          2)建立文件夹,把返回的json串放在/a/b/c/下面,命名为xxxx                                                                                                 3)编写一个脚本,功能(cd到对应目录下,然后执行python -m SimpleHTTPServer  9001)把服务启起来
  2. 通过nginx转发,将请求转发到本地,使得后端B请求数据的时候,请求到第一步中搭建的web服务器上,                                       1)修改nginx.conf文件,转发请求到本地(本次以www.jd.com转发到123.0.0.1上),并重启服务                                                  server{
                                listen          80;  //端口
                                server_name     www.baidu.com;   //请求的域名或者ip,location后面的是路径
                                 location /a/b/c/{
                                         proxy_pass http://123.0.0.1:9001;      //本地ip
                                         proxy_method GET;                  //将post请求转发成get,因为post请求出错了

                           }                                                                                                                                                                  }                                                                                                                                                            2)修改服务器的host,加一条:123.0.0.1  www.baidu.com      

  3. 遇到的问题:可以用curl  123.0.0.1:9001来检查接口是否通了                                                                                                        1)请求接口路径不存在                                                                                                                                                                 原因:json串存放的地址和请求路径不一致                                                                                                                                2)接口通了,但是没有数据                                                                                                                                                            原因:不支持post请求方式                             

                                                                                                                                                                   

                   

                                                                                                                                                                                 

                                                                                                                                                                                                 

                    

你可能感兴趣的:(测试)