通用技术 关于 mock 工具,大家能给我点建议吗?

剪烛 · 2015年08月13日 · 最后由 行者 回复于 2015年09月16日 · 1607 次阅读

需求

我想要这样一个工具,测试设备连上某个特定的 wifi 后,设备发出的特定的 http request 可以获得特定的 response。而这个 request 和 response 是可以在网页上进行简单配置。

目的

  1. 测试各种错误码返回的时候客户端的表现(往往一个测试点错误码特别多,而且测试数据不好找)
  2. 开发过程中的调试需求(比如要调试一个手机注册的功能,而当时我们的服务端开发全部在另外一个地方上班,那可能会把所有同事的手机号码用完)

额,其实这个基本就是 7.11 大会上的一个 topic,但是演讲者好像并没有放出那个工具的信息(或者我没有听见?)

我不知道是不是已经有公开的现成的工具了,但是我搜索了以后并没有想要的。(如果有,求告知)

我大概想了下,如果自己写一个工具,可能有这些点,不知道怎么处理:

  1. 我不想改动程序里的请求的 host 地址,是不是意味着我需要另外弄一个 DNS 服务器,把不同的 host 指向到工具所在机器 ip 的不同端口。比如我要同时配置http://www.host1.com/a1 返回 res1,http://www.host2.com/b1 返回 res2。
  2. 接上条,那工具得同时监听好几个端口?

还不是太了解这方面的知识,如果以上想法有硬伤,求轻喷。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 15 条回复 时间 点赞

Fiddler 工具有这个功能。或者可以考虑用我们二次开发的http://mockserver.codeplex.com/
顺便打个广告,我们书中 5.3 章有介绍这个。http://item.jd.com/11728332.html

你的需求与其说是 mock 工具,准确的说其实是需要 stub server。
关于 stub server 我非常喜欢https://github.com/dreamhead/moco,郑晔老师的作品,三个字,屌屌的。
如果说希望可以在网页上配置请求跟返回,那https://github.com/thx/RAP 就最符合你的需求了。

推荐用 moco 框架. 修改 host 的话, 可以尝试搭建一个网络. 这样只需要登录这个就会自动把域名的指向 ip 给修改掉.
用 *** 网络实现数据包的抓取也很方便.

moco 和 RAP 都很赞啊,赶紧去试用。

#4 楼 @anikikun 囧,改了

#3 楼 @eurekasaber 这是我们是基于 Fiddler 内核模块二次开发的 mock 工具,完全开源,改进了一些 Fiddler 用起来不够方便的地方,另外能比较方便地支持加密接口响应篡改。

你知道一个叫做 webmock 的 gem 么?

赞 7 楼,准确地说是 stub server

@allenjchen 这本书真不错

剪烛 #11 · 2015年09月11日 Author

#13 楼 @kevin_xu_v thanks 多谢推荐。试用了一下,很赞。但是好像是必须线上使用的?

同求,测试数据的准备有时候真的是硬伤。

fiddler 完全可以支持你的需求,并且也支持脚本开发
ls 的不知道好用不,书已经在路上了~

2L 的挺赞啊。
书已看。
妹子,是 mock 呀

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册