利用 apiary.io + ngrok 测试本地服务器

在apiary.io上,单纯使用mock server进行测试显然是不够的。当试图使用localhost进行Production测试时,会提示“Proxy request fail”的提示。这是因为apiary需要通过远程代理来访问你的本地服务器,因此在Host属性中填写localhost是无法达到目的的。利用ngrok,便可以在开发完成后运行本地服务器进行测试。

  1. 下载安装ngrok:

    官网下载压缩包,并解压,安装:

    1
    $ unzip /path/ngrok.zip
  2. 利用ngrok代理本地服务器:

    首先要在本地运行服务器。

    以localhost:8080为例,在ngrok安装目录下:

    1
    $ ./ngrok http 8080

    得到:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    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就是代理后的服务器地址。

  3. 将服务器地址写入apiary.io:

    1
    2
    3
    4
    5
    6
    FORMAT: 1A
    HOST: http://33059e51.ngrok.io

    # YourProject

    Description of your project.
  4. 将request发送模式改为”Production”,即可利用API文档完成单元测试了。也就是说,只要服务器完成了开发,就可以很方便的进行测试了,url/参数/request body都可以自由修改,且这些request行为都会真实发送到你的本地服务器中。这会有利于服务器和客户端的并行开发。

本文为博主原创文章,转载请注明出处。