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 测试站点的可行性分析已经结束,东西不多但是作用很大。
一、为什么使用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 测试站点的可行性分析已经结束,东西不多但是作用很大。
相关文章推荐
- RESTFUL接口开发
- 使用SpringMVC开发RestFul风格接口的java-web项目,tomcat部署并客户端访问
- fiddler实现后端接口 mock(不需要修改开发代码)
- Yii2 基于RESTful架构的 advanced版API接口开发 配置、实现、测试
- Restful风格API接口开发springMVC篇
- RESTful设计原则和样例(开发前后台接口)
- Restful风格API接口开发springMVC篇
- 高性能web服务器框架Tornado简单实现restful接口及开发实例
- API接口开发 配置、实现、测试 Yii2 基于RESTful架构的 advanced版API接口开发 配置、实现、测试
- 高性能tornado框架简单实现restful接口及运维开发实例
- laravel 开发RestFul接口【一、集成三方扩展 - dingo/api】
- 我的第一个python web开发框架(8)——项目结构与RESTful接口风格说明
- Restful风格API接口开发springMVC篇
- 关于RESTful一些注意事项,和自己整理的接口开发规范
- 关于RESTful一些注意事项,和自己整理的接口开发规范
- 已有mvc框架下基于jersey的restful接口开发
- 高性能tornado框架简单实现restful接口及运维开发实例
- 基于SpringBoot的Restful接口开发
- Flask-RESTful接口开发学习笔记一:实现简单的GET请求
- RESTful设计原则和样例(开发前后台接口)