利用eolinker实现api接口mock测试(mock server)
转载:http://blog.csdn.net/naicha_qin/article/details/78276172
前后端分离或者是进行单元测试的时候,必须要用mock api替换掉第三方调用或者是实际的API,eolinker提供了非常全面的mock api支持,其他那些需要安装配置的mock server就不说了,有现成的干嘛还要自己搭。
Api信息如下,url里面可以把根路径去掉,直接写api的地址就行。到时候在项目里面统一配置线上环境以及测试环境的地址前缀,切换就好。
在api的编辑页面,高级mock里面,输入mock的规则就行。eolinker的mock是基于mockjs来改的,不过规则大同小异,规则可以参考这里http://mockjs.com/examples.html
编辑完成之后,回到api的详情页面,在mock的标签下面会看到有一个url,复制到项目里面就行。因为地址前缀是统一的,所以可以按照刚刚说的,在项目里统一配置一个测试的前缀,到时候上线就换成生产环境的前缀既可。支持restful这点还是非常不错的,似乎是我目前看到唯一支持restful的mock server?
用到项目里面大概是这样的(只是简单写了个demo):
- public class MockServerTest {
- @Test
- public void testMockServer() throws IOException {
- mockClient.when(
- request()
- .withPath("http://mock.eolinker.com/TPivSvI55cabdf9f2243a023dc6a76ec9514dc38084c19d?uri=/bestedu/course/primarySchool")
- .withMethod("POST")
- // .withHeader(new Header(HttpHeaders.ACCEPT, MediaType.TEXT_PLAIN))
- // .withQueryStringParameter(new Parameter("my-token", "12345"))
- ).respond(
- response()
- .withStatusCode(200)
- .withBody(expected)
- );
- CloseableHttpClient client = HttpClients.createDefault();
- HttpGet httpGet = new HttpPost("http://mock.eolinker.com/TPivSvI55cabdf9f2243a023dc6a76ec9514dc38084c19d?uri=/bestedu/course/primarySchool");
- CloseableHttpResponse response = client.execute(httpGet);
- //验证输出是否是正确
- InputStream content = response.getEntity().getContent();
- InputStreamReader inputStreamReader = new InputStreamReader(content);
- BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
- String responseText = bufferedReader.readLine();
- assertThat(responseText, equalTo(expected));
- }
- }
除了返回mock数据之外,eolinker还有对请求方式以及参数的校验,如果不对的话还会提示,这个还是很cool的。but,对于mock的校验只有企业版才有,默默希望到时候技术老大可以批一下。。。
总结:
不重复造轮子,现在很多人崇尚自己去搞一套服务啊啥的,研究一下还行,真的干活还是简单粗暴到手即用最好。何况现在也在推崇远程办公,eolinker在这一块我觉得做的还是ok的。
利用eolinker实现api接口mock测试(mock server)的更多相关文章
- 利用fitnesse实现api接口自动化测试
上午在园子里乱逛,看了不少小伙伴们分享的接口测试方面的知识,仔细想想,我做接口测试也有几个年头了,大家所叙述到的一些经验或多或少,我也曾遇到过,突然意识到知识的点滴积累是多么的重要,我记得我最早接触接 ...
- 利用postman进行api接口开发
场景: api接口开发时,经常使用一些工具来帮助设计开发.Yapi主要是在设计阶段进行api接口设计,统一前后端参数请求和返回体:swagger主要在开发阶段,用来显示实际上后端开发进度和接口情况:p ...
- .NET微信扫码支付模式二API接口开发测试
主要实现微信扫码支付,官网的SDKdemo 就不要使用 一直不能调试通过的,还是自己按照API接口文档一步一步来实现,吐槽下微信一点责任感都木有,能不能demo搞个正常的吗,不要坑惨了一大群码农们有点 ...
- .NET MVC结构框架下的微信扫码支付模式二 API接口开发测试
直接上干货 ,我们的宗旨就是为人民服务.授人以鱼不如授人以渔.不吹毛求疵.不浮夸.不虚伪.不忽悠.一切都是为了社会共同进步,繁荣昌盛,小程序猿.大程序猿.老程序猿还是嫩程序猿,希望这个社会不要太急功近 ...
- cobbler api接口开发测试实例
条件1:必须搭建好cobbler服务,并且可以通过web访问:http://cobbler_ip/cobbler_web 测试可以打开.然后再用以下命令测试. #!/opt/python3/bin/p ...
- 谈谈如何用eoLinker管理各类API接口及分享API接口管理小技巧教程
在前后端分离的开发模式下,前后端往往需要接口文档来进行交互.我的上一篇随笔中已经写到用传统的文档写接口时,由于需求经常变动,接口文档也会随之变动.一开始,某接口信息已经写入文档,但后期因为需求变动,发 ...
- Mock测试接口
Mock使用场景: (1)创建所需的DB数据可能需要很长时间,如:调用别的接口,模拟很多数据,确保发布版本接口可用 (2)调用第三方API接口,测试很慢, (3)编写满足所有外部依赖的测试可能很复杂, ...
- Spring MVC如何测试Controller(使用springmvc mock测试)
在springmvc中一般的测试用例都是测试service层,今天我来演示下如何使用springmvc mock直接测试controller层代码. 1.什么是mock测试? mock测试就是在测试过 ...
- Python单元测试和Mock测试
单元测试 测试可以保证你的代码在一系列给定条件下正常工作 测试允许人们确保对代码的改动不会破坏现有的功能 测试迫使人们在不寻常条件的情况下思考代码,这可能会揭示出逻辑错误 良好的测试要求模块化,解耦代 ...
随机推荐
- poj 3678 Katu Puzzle 2-SAT 建图入门
Description Katu Puzzle is presented as a directed graph G(V, E) with each edge e(a, b) labeled by a ...
- Installing Wine 1.5: configure: error: Cannot build a 32-bit program, you need to install 32-bit development libraries(转载)
Installing Wine 1.5: configure: error: Cannot build a 32-bit program, you need to install 32-bit dev ...
- 如何在Windows2008中禁用IPv6
我自己修复此问题 更改 DisabledComponents 注册表值 您可以通过将DisabledComponents注册表值的主机上禁用 IPv6.DisabledComponents注册表值会影 ...
- mysql 导入
1.默认情况下:MySQL导入文件大小有限制的,最大为2M,所以当文件很大时候,直接无法导入,可修改php.ini参数调整: 在php.ini中修改相关参数: 影响MySQL导入文件大小的参数有三个: ...
- python的资源整合
一位大牛整理的Python资源 Python基本安装: * http://www.python.org/ 官方标准Python开发包和支持环境,同时也是Python的官方网站:* http://www ...
- [ CodeVS冲杯之路 ] P1842
不充钱,你怎么AC? 题目:http://codevs.cn/problem/1501/ 一开始看到题目有点懵逼,没有看懂题目的意思QuQ 后面发现,原来就是个类似于斐波拉契数列的递推 f[0]=5 ...
- android hook 框架 libinject2 简介、编译、运行
Android so注入-libinject2 简介.编译.运行 Android so注入-libinject2 如何实现so注入 Android so注入-Libinject 如何实现so注入 A ...
- UVALIVE 3031 Cable TV Network
题意:求点联通度 首先看了别人的题解还是不晓得只枚举汇点的原因觉得行不通 关于求点联通度的建图方法 转自http://hi.baidu.com/lerroy312/item/5a5f36f2f5bba ...
- centos7 挂载exfat格式的u盘
下载 两个包 rpm -ivh http://download1.rpmfusion.org/free/el/updates/7/x86_64/f/fuse-exfat-1.2.8-1.el7.x86 ...
- Codeforces Round #446 (Div. 2) B. Wrath【模拟/贪心】
B. Wrath time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp ...