在apiary.io上,单纯使用mock server进行测试显然是不够的。当试图使用localhost进行Production测试时,会提示“Proxy request fail”的提示。这是因为apiary需要通过远程代理来访问你的本地服务器,因此在Host属性中填写localhost是无法达到目的的。利用ngrok,便可以在开发完成后运行本地服务器进行测试。
下载安装ngrok:
在官网下载压缩包,并解压,安装:
$ unzip /path/ngrok.zip
利用ngrok代理本地服务器:
首先要在本地运行服务器。
以localhost:8080为例,在ngrok安装目录下:
$ ./ngrok http 8080
得到:
ngrok by @inconshreveable (Ctrl+C to quit) Session Status online Version 2.2.8 Region United States (us) Web Interface http://127.0.0.1:4040 Forwarding http://33059e51.ngrok.io -> localhost:8080 Forwarding https://33059e51.ngrok.io -> localhost:8080 Connections ttl opn rt1 rt5 p50 p90 0 0 0.00 0.00 0.00 0.00
其中http://33059e51.ngrok.io就是代理后的服务器地址。
将服务器地址写入apiary.io:
FORMAT: 1A HOST: http://33059e51.ngrok.io # YourProject Description of your project.
将request发送模式改为”Production”,即可利用API文档完成单元测试了。也就是说,只要服务器完成了开发,就可以很方便的进行测试了,url/参数/request body都可以自由修改,且这些request行为都会真实发送到你的本地服务器中。这会有利于服务器和客户端的并行开发。