您的位置:首页 > 其它

mock-针对restful接口,开发mock测试服务

2017-12-26 13:04 204 查看
mock-针对restful接口,开发mock测试服务

一、为什么使用mock测试

有了Mock,前、后端人员只需要定义好接口文档就可以开始并行工作,互不影响,只在最后的联调阶段往来密切;

后端与后端之间如果有接口耦合,也同样能被Mock解决;

测试过程中如果遇到依赖接口没有准备好,同样可以借助Mock;

不会出现一个团队等待另一个团队的情况。这样的话,开发自测阶段就可以及早开展,从而发现缺陷的时机也提前了,有利于整个产品质量以及进度的保证。

二、使用 nginx 解决,不同域名、端口 指向同一个mock站点问题

1.nginx 配置

    #转发 mock 请求(如果需要监听多个端口,需配置多个 server 节点)

    server {

        listen       80; #监听端口

        server_name  ""; #监听域名 “” 为80端口上所有域名

        location / {

            proxy_set_header Host $host:$server_port;  #mock时需要将此内容设置为客户端实际请求的“域名”和“端口号”

            proxy_set_header X-Forward-For $remote_addr;

            proxy_set_header X-Real-IP $remote_addr;  

            proxy_set_header xxx-test $host,xxx,111,222;  #自定义测试http 头信息

            proxy_pass http://localhost:8000/; #转发请求到以下地址

        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html

        #

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

    }

2.nginx 常用命令

sudo nginx 启动nginx

sudo nginx -t 判断配置文件是否正确

sudo nginx -s stop 停止nginx:

sudo nginx -s reload 重启nginx:

三、返回mock试数据

不同待mock的服务地址,如:
http://www.aa.com/d/e/f http://www.bb.com:8080/a/b/c http://www.cc.com:9090/1/2/3
都可以通过 nginx 的配置进行转发。在 mock站点中可以得到请求的域名、端口、url地址等信息;

既然可以得到域名、端口、url,就可以很方便的拼接出一个绝对的 URL 地址,有了URL地址就可以确定对应的响应数据了;

至此,开发一个 mock 测试站点的可行性分析已经结束,东西不多但是作用很大。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: